Phpeasy-это API-ориентированная PHP-структура. Код как близок к самому языку PHP, а не к структуре.
I. вступление
II Предварительные условия
Iii. Установка
Это для того, кто любит ванильный PHP и его простоту. В настоящее время вы должны следовать стандартам кодирования (ООП, твердый, сухой и т. Д.) И фреймворкс MVC для выполнения веб -разработки с использованием PHP. PHP Frameworks существует со слишком большим количеством файлов, конфигураций, классов и зависимостей. Я сделал эту мини -структуру, чтобы разработчики PHP могли быстрее выполнять веб -разработку, освоив и наслаждаясь самого языка PHP (да! Не нужно изучать так много библиотек).
Composer - Откройте терминал в папке корня или HTDOCS и выполните приведенную ниже команду.
composer create-project vgalvoso/phpeasy my_phpeasy
Вы можете изменить [my_phpeasy] на любое имя проекта, которое вы хотите.
Теперь откройте свой браузер и перейдите по адресу http: // localhost/my_phpeasy
Создайте представления внутри папки.
Маршруты просмотра будут автоматически созданы на основе структуры папок просмотра.
Посмотрите на примеры ниже.
Вы можете использовать имя файла, если файл представления назван [index.php]:
(SPA) Приложения для одной страницы состоит из компонентов просмотра.
Просмотр компонентов доступен только через запросы AJAX.
Просто вызовите Core/Helper/Component (); В верхней части файла представления, чтобы указать его как компонент представления.
Пример: View/admin/users_table.php
< ?= Core/Helper/component(); ? >
< table >
< thead >
< tr >
< th > Username </ th >
< th > First Name </ th >
< th > Last Name </ th >
</ tr >
</ thead >
< tbody id =" users_tbl " >
< tr > < td > No Contents </ td > </ tr >
</ tbody >
</ table > Phpeasy поддерживает API REST.
Все API размещены в папке API.
Маршруты API будут автоматическими, созданными через структуру файла папок API и реализованные функции внутри файла PHP, названного с глаголами HTTP, EG (get (), post (), patch ()).
Так, например, вы пропустили функцию delete (), вы не можете вызвать API Delete/users/{id}.
Вот пример API пользователя REST.
Путь файла API: [api/users.php]
Маршруты:
<?php
use Core DAL ;
use function Core Helper error ;
use function Core Helper getRequestBody ;
use function Core Helper response ;
use function Core Helper startAPI ;
startAPI ();
function get (){
$ db = new DAL ();
//GET user by id
if ( defined ( ' URI_PARAM ' )){
$ query = " SELECT * FROM users WHERE id = :id " ;
$ param = [ " id " => URI_PARAM ];
if (! $ user = $ db -> getItem ( $ query , $ param ))
response ([]);
response ([ $ user ]);
}
//GET All users
$ query = " SELECT * FROM users " ;
$ users = $ db -> getItems ( $ query );
response ( $ users );
}
function post (){
$ db = new DAL ();
$ rq = ( object ) getRequestBody ();
$ values = [
" username " => $ rq -> username ,
" firstname " => $ rq -> firstname ,
" lastname " => $ rq -> lastname ,
" usertype " => $ rq -> usertype ,
" password " => password_hash ( $ rq -> password , PASSWORD_BCRYPT )
];
if (! $ db -> insert ( " users " , $ values ))
error ( $ db -> getError ());
response ( " New User added! " );
}
function delete (){
if (! defined ( ' URI_PARAM ' ))
error ( " Invalid Request! Please specify user id " );
$ db = new DAL ();
$ id = URI_PARAM ;
if (! $ db -> delete ( " users " , " id=:id " ,[ " id " => $ id ]))
error ( $ db -> getError ());
response ( " User Deleted Successfuly! " );
}
function patch (){
if (! defined ( ' URI_PARAM ' ))
error ( " Invalid Request! Please specify user id " );
$ db = new DAL ();
$ id = URI_PARAM ;
$ rq = ( object ) getRequestBody ();
$ values = [
" firstname " => $ rq -> firstname ,
" lastname " => $ rq -> lastname ];
$ params = [ " id " => $ id ];
$ db = new DAL ();
if (! $ db -> update ( " users " , " id=:id " , $ values , $ params ))
error ( $ db -> getError ());
response ( " User Updated Successfuly " );
}
//EOF API в Phpeasy поощряет процедурный стиль кодирования,
Итак, вот список функций, которые вы можете использовать в реализациях API:
Инициализировать файл PHP в качестве API REST.
После вызова этой функции вы можете реализовать глаголы HTTP в качестве функции.
Пример:
<?php
use function Core Helper startAPI ;
startAPI ();
function get (){
//Handle GET request to api/users
}Ответ об ошибке будет получен, если вы попытаетесь запросить использование HTTP -методов, кроме GET.
Получить тело запроса и преобразовать его в Ass Array.
Пример:
<?php
use Core Helper getRequestBody ;
$ rq = getRequestBody ();
$ username = $ rq [ " username " ];
$ password = $ rq [ " password " ];
//you can convert it to object for easy access
//$rq = (object)$rq;
//$username = $rq->username;
//$password = $rq->password; Проверить массив пары ключевых значений на основе правил проверки.
$inputs - Assocative Array для проверки.$validations - Assocative Array, содержащие ключи, которые соответствуют клавишам в $ Data, а значения являются правилами проверки.Пример:
<?php
use function Core Helper getRequestBody ;
use function Core Validator validate ;
$ rq = getRequestBody ();
$ dataRules = [ " uname " => " required|string " ,
" upass " => " required|string " ,
" firstName " => " required|string " ,
" lastName " => " required|string " ];
validate ( $ rq , $ dataRules );Ответ вывода с кодом состояния 400 и сообщением об ошибке
$message - строка | Сообщение об ошибке массива Установите тип контента и код состояния, затем вывод содержимого и сценария выхода
$content string | array - контент для вывода$statusCode int - код состояния ответа (по умолчанию 200)$contentType String - тип контента (приложение по умолчанию/JSON). Доступные типы контента: [Приложение/JSON | Plain/Text | Текст/html] Включите указанное представление
$route String - Просмотр пути файлаВ основном используется для вызова компонента спа -салона
Перенаправить в указанный вид.
Если путь не указан, перенаправление на основе сеанса.
$view String - Путь к просмотру Более короткий синтаксис для htmlspecialchars ()
$string - строка для дезинфекцииГенерировать рандомизированный буквенно -цифровой код
$length - длина кода, которая будет сгенерирована (по умолчанию 6) Извлечь ключи и значения объекта и хранить в массив сеансов
$object - объект для извлечения примера: <?php
use Core DAL ;
$ db = new DAL ();
if (! $ user = $ db -> getItem ( 1 ))
invalid ( " User does not exist! " );
objToSession ( $ userInfo );Сгенерировать новое имя файла и загрузить файл
string $uploadFile $ _filestring $uploadPath местоположение для загрузки файл должен добавить «/» к концуПолучить/установить переменную сеанса
$sessionVar - ключ сессии$value - устанавливает значение сеанса, если NULL Преобразуйте массив объектов в индексированную массив, содержащую значения указанного элемента.
$objArr - массив, если ibjects для конвертации$item - элемент объекта для извлечения Phpeasy представляет класс DAL () для операций с базами данных. Поддерживает MySQL, MSSQL и SQLite.
Установить конфигурации базы данных в config/database.php
Ниже приведены функции dal ()
$ db = new DAL ();Выполняет оператор вставки;
$table - название таблицы, которое будет вставлено$values - ассоциативный массив, содержащий ключи, которые соответствуют полям таблицы, и значения для вставки.Пример:
$ values = [ " username " => $ uname ,
" password " => $ upass ,
" firstname " => $ firstName ,
" lastname " => $ lastName ];
$ db -> insert ( " users " , $ values );Выполняет оператор обновления
string $table таблица для обновленияstring $condition , например. id =: idarray $values Associational Array, содержащий значения для обновления, например. ["age" => 27]array $params для условий, например. ["id" => 1]Пример:
$ values = [
" firstname " => $ firstName ,
" lastname " => $ lastName ];
$ params = [ " id " => 1 ];
$ db = new DAL ();
$ db -> update ( " users " , " id=:id " , $ values , $ params );Выполняет оператор DELETE
string $table таблица, чтобы удалить изstring $condition условий с использованием подготовленного оператора, например. id =: id и name =: имяarray $params для условий, например. ["id" => 1, "name" => "Хуан Дель -Круз"]Пример:
$ delete ( " users " , " id=:id " ,[ " id " => 1 ]);Выберите несколько элементов
string $query Selectarray $inputs для подготовленного оператора по умолчанию (null)Пример:
$ db = new DAL ();
$ sql = " SELECT * FROM users WHERE lastname = :surname " ;
$ params = [ " surname " => $ lastName ];
$ users = $ db -> getItems ( $ sql , $ params );Выберите один строк запроса
string $query Selectarray $inputs для подготовленного оператора по умолчанию (null)Пример:
$ db = new DAL ();
$ sql = " SELECT * FROM users WHERE id=:userId " ;
$ params = [ " userId " => 1 ];
$ users = $ db -> getItem ( $ sql , $ params );Запустите транзакцию базы данных.
Комплект транзакции базы данных.
Откатная база данных транзакции.
Возвращает ошибки базы данных
Получите вставку в базу данных
string $field Укажите поле «Дохеди», по умолчанию NULL Получите базу данных, которая используется в настоящее время.
- api/getAllUser.php
```php
<?php
$db = new DAL();
$users = new Users($db);
$usersList = $users->getAll();
Вы можете использовать модели или не в зависимости от требований проекта.
Класс DAL доступен непосредственно в файлах API, вы можете выполнить запрос непосредственно на реализации API без создания модели.
Phpeasy является прогрессивным, вы можете добавить модели, службы, если хотите, просто обновите файл composer.json, если вы добавили другой каталог.
Видеть