@ozornick

PHP namespaces как используете?

Всем привет. Подскажите как справляться с классами при обработке через index.php? Знаю, в сети много примеров, но как всегда объясняют базу из которой мало, что понятно.
Интересует ситуация когда работает автозагрузчик. Каким образом мне прописывать namespaces? То есть имеются пространства foo\bar\User, foo\bar\Admin, foo\bar\Book и таких куча.
Как писать код не понял, кроме как все нэймы вывести в index.php
use  foo\bar\User, foo\bar\Admin, foo\bar\Book, ...
  • Вопрос задан
  • 1233 просмотра
Решения вопроса 1
@dev400
Pages.php. Лежит в папке Backend/Models

<?php
namespace Backend\Models;

use Common\Model\BaseModel as Model;

class Pages extends Model {

    protected $table = 'pages';

    protected $key;

    public function allPages() {

        while(!$rows = parent::findAll()){

            throw new \Exception('нет статей');
            
           и тд......
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@novrm
Если index.php находится в том же каталоге, где и классы подключаешь так:
spl_autoload_extensions('.php');
spl_autoload_register();

Если index.php находится в подкаталоге - сначала меняешь каталог на корневой, потом подключаешь классы:
chdir(dirname(__DIR__));
spl_autoload_extensions('.php');
spl_autoload_register();

Кроме того нужно следовать стандарту именования и размещения для классов:
PSR-4
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы