Подтвердить что ты не робот

Как использовать пространство имен в Laravel для того, чтобы не столкнуться с существующим классом?

В Laravel 4 я хочу использовать модель, представляющую Event, исходящую из моей базы данных. Таким образом, в app/models у меня есть моя модель Event, которая расширяет Eloquent.

Однако у Laravel 4 уже есть класс Event, который используется для управления событиями в жизненном цикле приложения.

Я хочу знать, как я могу правильно пропустить мою модель Event и получить доступ к ней так, чтобы она не столкнулась с существующим классом Event.

4b9b3361

Ответ 1

Вам просто нужно применить к нему пространство имен, как обычно. Так, например.

<?php namespace Models;

use Eloquent;

class Event extends Eloquent {

}

Затем вы должны правильно настроить composer.json так, чтобы он загружал ваши модели. Вы можете использовать classmap или psr-0 для этого, в зависимости от того, следуете ли вы PSR-0 с вашей структурой каталогов.

Я уверен, что каталог models уже отображен.

Edit
Как указано в комментариях, вы должны запустить composer dump-autoload.

Ответ 2

Насколько я знаю об использовании пространств имен, потому что я хочу использовать их внутри PHPDocumentar, его невозможно добавить дважды пространства имен, поскольку laravel уже добавляет их для вас, если мы понимаем основную проблему, почему мы используем пространства имен

1 - во многих библиотеках используется одно и то же имя класса, поэтому мы используем пространства имён, чтобы отличать это.

2 - если вы хотите использовать пространства имен, то вы должны выйти из области приложения, значит, это папка поставщика для вас такого рода.

Enjoy