require_once в symfony

Теперь я делаю все с помощью php + Symfony2 framework, и у меня есть следующий код:

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

… и так далее.

Проблема в том, как «Symfonyze» эти неудобные требуют предложений, а после, как включить эти файлы в пакет Symfony2?

Мы подумали о двух возможностях:

  1. Включите файл в каталог /vendors symfony или
  2. Включите каждый класс в качестве службы.

Если эти классы находятся внутри пакета, вы можете использовать следующее: Предположим, что ваше имя пакета – это 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') в качестве быстрого исправления ,