我現在正在用php +的Symfony2框架的東西,我有以下代碼:require_once在symfony的
require_once("one_file.php");
require_once("another_file.php");
...等等。
問題是,如何「Symfonyze」這些不舒服的需要句子,以及之後,如何將這些文件包含在Symfony2包中?
我們已經想到了兩種可能性:
- 包括在
/vendors
目錄的symfony,或 - 文件包括每個類的服務。
我現在正在用php +的Symfony2框架的東西,我有以下代碼:require_once在symfony的
require_once("one_file.php");
require_once("another_file.php");
...等等。
問題是,如何「Symfonyze」這些不舒服的需要句子,以及之後,如何將這些文件包含在Symfony2包中?
我們已經想到了兩種可能性:
/vendors
目錄的symfony,或如果這些類位於內包,那麼你可以如下使用: 假設你的軟件包名稱爲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文件中
您可以按照PSR-0標準讓自動加載器處理這個問題。見https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-0.md和http://getcomposer.org/doc/04-schema.md#psr-0。
,你可以繼續你的文件,就是告訴作曲家,要求他們每一次:http://getcomposer.org/doc/04-schema.md#files
你必須做出一個文件夾類似的lib您的極致文件夾把這些文件在lib文件夾中,然後使用該語句
use Acme\DemoBundle\lib\Abc; // its your class name
你要遵循這些其他答案,特別是批准的答案,但如果您使用的PHP文件數量很多的第三方庫,則可以使用require_once(__DIR__.'/path/to/file.php')
作爲快速解決方案。
由於目前還沒有公認的答案,所以我會建議這一個作爲正確的答案,因爲它對我有用。 –
工人!非常感謝,併爲延誤感到抱歉 – juananrey