Теперь я делаю все с помощью php + Symfony2 framework, и у меня есть следующий код:
require_once("one_file.php"); require_once("another_file.php");
… и так далее.
Проблема в том, как «Symfonyze» эти неудобные требуют предложений, а после, как включить эти файлы в пакет Symfony2?
Мы подумали о двух возможностях:
/vendors
symfony или Если эти классы находятся внутри пакета, вы можете использовать следующее: Предположим, что ваше имя пакета – это AcmeDemoBundle. Разместите этот файл внутри Acme / DemoBundle / Model /
//one_file.php namespace Acme/DemoBundle/Model; class one_file { ........... }
Чтобы использовать этот файл внутри вашего контроллера или любого другого файла:
Здесь для Acme / DemoBundle / Controller / 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
Вы должны сделать папку в своей папке acme, так как lib помещает эти файлы в папку lib, а затем использует этот оператор
use Acme\DemoBundle\lib\Abc; // its your class name
Вы хотите следовать этим другим ответам, особенно одобренным, но если вы используете стороннюю библиотеку с множеством PHP-файлов, вы можете сделать require_once(__DIR__.'/path/to/file.php')
в качестве быстрого исправления ,