Если вы используете illuminate/database
, скорее всего, вы используете композитор. Почему бы не добавить правило автоматической загрузки PSR-4 и соответствующим образом структурировать свой код. Например. composer.json
может выглядеть так:
{
"name": "acme/acme",
"description": "Acme is this and that",
"type": "project",
"require": {
"php": "^7.2",
"illuminate/database": "^5.7"
},
"autoload": {
"psr-4": {
"Acme\\": "src"
}
},
"license": "proprietary"
}
Запуск composer install
делает вас vendor/autoloader.php
, и это единственный файл, который вам требуется. Вы помещаете свой собственный код в пространство имен Acme
(или что бы вы ни выбрали). Например. Вы помещаете свою модель пользователя в src/Model/User.php
и добавляете свое пространство имен:
<?php
namespace Acme\Model;
use Illuminate\Database\Eloquent\Model as Eloquent;
class User extends Eloquent
{
public $name;
protected $fillable = ['username','email'];
}
Ваш основной файл может выглядеть следующим образом ..
<?php
// entry point file
require_once('vendor/autoload.php');
use Acme\Model\User;
$user = new User();
// ...
Очевидно, вы бы сделали большую логику в некотором классе, так что это должно быть довольно коротким.
Это может показаться очевидным людям, работающим над недавними проектами, но я видел слишком много проектов, в которых все еще есть статический файл, включая все классы, как мы делали в прежние времена. Переместите свои проекты в 2010-е сейчас!