Как я могу загрузить модель Laravel без создания экземпляра всего Laravel? - PullRequest
0 голосов
/ 25 апреля 2018

Только для эксперимента. У меня есть самодельный index.php, и у меня есть модель Laravel (сделанная с php artisan make:model Something) с именем Something.php.

Как я могу загрузить Something.php в index.php и иметь все функции, например, если модель загружена с Laravel?

В настоящее время у меня есть эти коды:

<?php

# This is just for testing if Laravel model can be loaded independently

require_once('../vendor/autoload.php');

require_once('../bootstrap/app.php');

require_once('OtherPackage.php');
require_once('Testimonial.php');

use Test\Sample;
use App\Testimonial;

echo 'Hello World<br />';

$s = new Sample();
$t = Testimonial::all();

echo print_r($s, true);
echo '<br />';
echo print_r($t, true);

Используйте php -S localhost:8080, и у него есть эта ошибка:

[Wed Apr 25 15:02:50 2018] ::1:58542 [500]: / - Uncaught Error: Call to a member function connection() on null in /home/notalentgeek/notalentgeek/Temporary Working Folder Here/testing-testimonial-2-without-auths/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php:1135
Stack trace:
#0 /home/notalentgeek/notalentgeek/Temporary Working Folder Here/testing-testimonial-2-without-auths/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1101): Illuminate\Database\Eloquent\Model::resolveConnection(NULL)
#1 /home/notalentgeek/notalentgeek/Temporary Working Folder Here/testing-testimonial-2-without-auths/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(931): Illuminate\Database\Eloquent\Model->getConnection()
#2 /home/notalentgeek/notalentgeek/Temporary Working Folder Here/testing-testimonial-2-without-auths/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(877): Illuminate\Database\Eloquent\Model->newBaseQueryBuilder()
#3 /home/notalentgeek/notalentgeek/Temporary Working Folder Here/testing-testi in /home/notalentgeek/notalentgeek/Temporary Working Folder Here/testing-testimonial-2-without-auths/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php on line 1135

Я пытался использовать $app->withEloquent(), как сказано в PHP Lumen Вызов функции-подключения connection () для null . Но он возвращает новую ошибку:

[Wed Apr 25 15:10:08 2018] ::1:58700 [500]: / - Uncaught Error: Call to undefined method Illuminate\Foundation\Application::withEloquent() in /home/notalentgeek/notalentgeek/Temporary Working Folder Here/testing-testimonial-2-without-auths/app/index.php:10

Моя цель - чтобы я реорганизовал старые коды с помощью Laravel. Итак, я хочу знать, как лучше всего «запустить» Laravel с моей старой кодовой обложкой ON TOP проекта Laravel.

1 Ответ

0 голосов
/ 25 апреля 2018

Laravel - это PHP-фреймворк.

Он был разработан с особым стилем работы.Этот способ работы широко документирован во всей сети.Даже если может потребоваться перезаписывать классы и время от времени взламывать фреймворк, обычно первый подход к созданию чего-либо с использованием Laravel - это использовать его так, как он предназначен.

Что означает, что вы не должныне возиться в файле index.php.Это файл, который загружает остальную часть фреймворка.

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

Для получения дополнительной информации посмотрите следующие ссылки.

https://nl.wikipedia.org/wiki/Model-view-controller-model

https://laravel.com/docs/5.6/routing

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...