Идея состоит в том, чтобы создать простую в использовании структуру для начинающих. Мы будем использовать класс Application () для загрузки его необходимых модулей, таких как routes , controllers , models . Класс модели напрямую представляет таблицу в базе данных.
Эта структура находится в стадии разработки . Предложите архитектуру шаблона MVC с компонентами, а также маршрутизацию и ORM. Модельные классы будут напрямую отражать таблицы БД.
На терминале перейдите в каталог вашего проекта и запустите следующий код:
composer require rforge/rforgeЗатем запустите эту команду, чтобы сгенерировать новый автозагрузчик
composer dump-autoload -o Когда вы выполните все необходимые шаги выше, вы можете начать создавать новое приложение. Это образец формата вашего index.php . Вызовите линию require_once , как показано ниже, чтобы загрузить структуру. После этой строки нам необходимо импортировать класс приложения, use RforgeApplication; Полем
require_once __DIR__ . " /vendor/autoload.php " ;
use RForge Application ;
use RForge Settings Config ;
Config:: setConnection ([
" host " => " 127.0.0.1 " ,
" user " => " root " ,
" pass " => "" ,
" charset " => " utf8 " ,
" driver " => " mysql "
]);
$ app = new Application ( " YourProjectNameSpace " );
$ app -> setTables ( ' Models \' ); //<-- Directory path to your models
$ app -> database ( ' bld ' ); // <-- DB Name
$ app -> start (); //<-- Start loading the configurationsПримечание . Вы должны сначала установить конфигурацию перед запуском
$app->start(), или он будет использовать конфигурацию по умолчанию
Модели непосредственно представляют структуру базы данных. RFORGE отслеживает изменения в ваших моделях и обновляет базу данных . Структура еще не поддерживает картирование реляционной базы данных модели.
Чтобы создать свою model , просто создайте новый класс, а затем назначьте свойства этому классу. Свойства класса будет название columns созданных в базе данных. Для назначения данных DataType используйте синтаксис JSDOC , как показано ниже:
class User{
/**
* @INT (10)
* @AUTO_INCREMENT
* @PRIMARY KEY
*/
public $ IDS ;
/**
* @Text
*/
public $ name ;
}
Этот класс содержит реализацию метода базы данных и должен быть унаследован вашими моделями.
class User extends Operations{
/**
* @INT (10)
* @AUTO_INCREMENT
* @PRIMARY KEY
*/
public $ IDS ;
/**
* @Text
*/
public $ name ;
}Некоторые из моделей возвращают значение в модель, которая запускает ее. В то время как другие методы возвращают значение как массив этой модели. В настоящее время поддерживается только два метода, и скоро будет доступно больше методов.
Инициализируйте свою модель и используйте методы ниже:
$ user = new User (); // initialize the model with operations
$ user -> findByID ( 23 ); // invoke the method
echo $ user -> name ; //output => AlexОбратите внимание, что вы напрямую получаете ценность вашего запроса на вашей модели. Некоторые методы возвращает массив модели, которая вызвала метод , в то время как другие возвращают значение непосредственно в сам класс
Вы должны поместить эту модель в отдельную папку и должны быть в самой директоре. Как filecrawler найдет другие классы в этом каталоге.
setTables в классе приложения.