Intereting Posts
Знайте, если электронная почта была ответом, используя IMAP в PHP Выбор библиотеки закладок для веб-браузера Рекомендации по проверке защищенных методов с помощью PHPUnit ActiveForm, пользовательский идентификатор для проверки поля Как сделать первичный ключ серийно? Как обновить URI веб-страницы автоматически? Самый простой способ обнаружения мобильного устройства как получить только нулевой счетчик элементов в массиве php Как разбивать строки в цикле foreach с помощью PHP Лучшие практики: работа с длинными многострочными строками в PHP? Невозможно нажать уведомление APNS, чтобы обновить мой пропуск в Apple Wallet Статические данные сохраняются для каждого динамически генерируемого поля и кнопки отправки URL-адрес динамической страницы динамической страницы PHP Объединить значения флажка с помощью php mysql Получение переменной среды в php

Использование пространств имен в Laravel 4

Я новичок в Laravel и использую пространства имен PHP в целом. У меня не возникало никаких проблем, пока я не решил создать модель под названием «Файл». Как я буду правильно размещать имена, чтобы я мог использовать класс модели File?

Файлы – это app/controllers/FilesController.php и app/models/File.php . Я пытаюсь создать новый File в FilesController.php .

Пространство имен довольно легко, как только вы это почувствуете.

Возьмем следующий пример:

приложение / модели / file.php

 namespace App\Models; class File { public function someMethodThatGetsFiles() { } } 

приложение / контроллеры / FileController.php

 namespace App\Controllers; use App\Models\File; class FileController { public function someMethod() { $file = new File(); } } 

Объявить пространство имен:

 namespace App\Controllers; 

Помните, как только вы разместили класс в пространстве имен для доступа к любому из встроенных классов PHP, вам нужно вызвать их из корневого пространства имен. например: $stdClass = new stdClass(); будет $stdClass = new \stdClass(); (см. \ )

«Импортировать» другие пространства имен:

 use App\Models\File; 

Это позволяет использовать класс File без префикса пространства имен.

В качестве альтернативы вы можете просто позвонить:

 $file = new App\Models\File(); 

Но лучше всего поместить его наверху в оператор use как вы можете просмотреть все зависимости файла без необходимости сканирования кода.

Как только это будет сделано, вам понадобится запустить composer dump-autoload чтобы обновить функцию автозагрузки Composer, чтобы учесть ваши недавно добавленные классы.

Помните, что если вы хотите получить доступ к FileController через URL-адрес, вам необходимо определить маршрут и указать полное пространство имен следующим образом:

 Route::get('file', 'App\\Controllers\\FileController@someMethod'); 

Который направит все запросы GET / file на контроллер someMethod()

Взгляните на документацию PHP на пространства имен, а Nettut всегда является хорошим ресурсом в этой статье

во-первых, загрузите свой класс:

 $ composer dump-autoload 

тогда

 $file = new File; // your stuff like: $file->name = 'thename'; $file->active = true; $file->save(); 

Раздел: Вставка, обновление, удаление на Laravel 4 Досье Эвкалипта

Чтобы проставить пространство вашей модели в верхней части вашего модельного класса сразу после открытия

Затем, когда вы вызываете из контроллеров, вы вызываете new What whatever \ Model;

Вероятно, вам придется сначала сделать самозагрузку с композитором в первый раз.

посмотрите на это. Надеюсь, вы очистите свой запрос ….

 <?php namespace app\controllers; use yii\web\Controller; use app\models\users; class UserController extends Controller{ public function actionIndex() { echo "working on ....."; } }