2013-01-19 48 views
1

我現在正在用php +的Symfony2框架的東西,我有以下代碼:require_once在symfony的

require_once("one_file.php"); 
require_once("another_file.php"); 

...等等。

問題是,如何「Symfonyze」這些不舒服的需要句子,以及之後,如何將這些文件包含在Symfony2包中?

我們已經想到了兩種可能性:

  1. 包括在/vendors目錄的symfony,或
  2. 文件包括每個類的服務。

回答

5

如果這些類位於內包,那麼你可以如下使用: 假設你的軟件包名稱爲AcmeDemoBundle。把這個文件的Acme/DemoBundle /型號內部/

//one_file.php 
    namespace Acme/DemoBundle/Model; 
    class one_file { 
    ........... 
    } 

要使用該文件控制器或任何其他文件中:

這裏爲Acme/DemoBundle /控制器/ UserController.php

namespace Acme/DemoBundle/Controller 
    use Acme/DemoBundle/Model/one_file 
    class UserController { 
    public $one_file=new one_file(); 
    } 

在php 5.3以後,命名空間已經被引入。你或許應該看看命名空間和它的使用PHP文件中

+0

由於目前還沒有公認的答案,所以我會建議這一個作爲正確的答案,因爲它對我有用。 –

+0

工人!非常感謝,併爲延誤感到抱歉 – juananrey

1

你必須做出一個文件夾類似的lib您的極致文件夾把這些文件在lib文件夾中,然後使用該語句

use Acme\DemoBundle\lib\Abc; // its your class name 
0

你要遵循這些其他答案,特別是批准的答案,但如果您使用的PHP文件數量很多的第三方庫,則可以使用require_once(__DIR__.'/path/to/file.php')作爲快速解決方案。