1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/JIANGWL-YanPHP

Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Использование экземпляра Capsule:

После регистрации экземпляра Capsule, вы можете использовать его следующим образом:

Использование Query Builder:

$users = Capsule::table('users')->where('votes', '>', 100)->get();

Другие основные методы могут быть доступны непосредственно из Capsule так же, как и из фасада DB:

$results = Capsule::select('select * from users where id = ?', array(1));

Использование Schema Builder:

Capsule::schema()->create('users', function ($table) {
    $table->increments('id');
    $table->string('email')->unique();
    $table->timestamps();
});

Используя Eloquent ORM:

class User extends Illuminate\Database\Eloquent\Model {}

$users = User::where('votes', '>', 1)->get();

Или используя стиль YanPHP:

use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Collection;

class User extends Model
{
    protected $table = 'user';

    protected $primaryKey = 'uid';

    protected $keyType = 'int';

    public function getById($id): Collection
    {
        return $this->where([$this->primaryKey => $id])->get();
    }

    public function getByCond($cond): Collection
    {
        return $this>where($cond)->get();
    }

    public function updateByCond($cond, $update): bool
    {
        return $this->where($cond)->update($update);
    }

    public function deleteById($id)
    {
        return $this->where($id)->delete();
    }
}


$UserModel = new User();
$UserModel->getById(1); // 获取user表中uid为1的用户数据信息

Для получения дополнительной документации по использованию различных средств базы данных, предоставляемых этой библиотекой, обратитесь к документации Laravel по базе данных.

Управление несколькими соединениями с базой данных

После настройки соединения в файле конфигурации database.php, можно реализовать несколько экземпляров соединения с базой данных.

Далее мы рассмотрим, как выполнить переключение соединений.

Model/User.php:

<?php
namespace App\Cgi\Model;

use Illuminate\Support\Collection;
use Yan\Core\Model;

class User extends Model
{
    protected $table = 'user';
    protected $connection = 'mysql1';  //здесь можно настроить использование "mysql1" для модели User

    public function getById($id): Collection
    {
        //здесь можно изменить текущее соединение на "default"
        $this->setConnection('default');
        
        return $this->where([$this->primaryKey => $id])->get();
    }
}

Мы можем использовать свойство $connection в модели для настройки соединения по умолчанию.

Другой способ — использовать метод $this->setConnection($name) для установки соединения.

Session

Пример использования:

use Yan\Core\Session;

Session::set('a','b');  //установка значения сессии

$sessionVaue = Session::get('a');  //получение значения из сессии

Session::destroy(); //уничтожение всех сессий

В классе Session есть следующие методы:

/**
 * @method static mixed get($key, $alt = null)
 * @method static mixed set($key, $val)
 * @method static null clear()
 * @method static mixed getFlash($key, $alt = null)
 * @method static null setFlash($key, $val)
 * @method static null clearFlash()
 * @method static mixed getFlashNext($key, $alt = null)
 * @method static null setFlashNow($key, $val)
 * @method static null clearFlashNow()
 * @method static null keepFlash()
 * @method boo null destroy()
 */

Настройка

Настройка формата результата

Вы можете настроить формат результата в вашем приложении в каталоге Compo/Result.php.

Вот пример класса Result:

namespace App\Cgi\Compo;

use Yan\Core\Compo\ResultInterface;

class Result implements ResultInterface
{
    protected $code;
    protected $message;
    protected $data;

    public function __construct(int $code, string $message, array $data = [])
    {
        $this->code = $code;
        $this->message = $message;
        $this->data = $data;
    }

    function getCode(): int
    {
        return $this->code;
    }

    function getMessage(): string
    {
        return $this->message;
    }

    /**
     * Specify data which should be serialized to JSON
     * @link http://php.net/manual/en/jsonserializable.jsonserialize.php
     * @return mixed data which can be serialized by <b>json_encode</b>,
     * which is a value of any type other than a resource.
     * @since 5.4.0
     */
    function jsonSerialize()
    {
        return ['code' => $this->code, 'message' => $this->message, 'data' => $this->data];
    }
}

Метод jsonSerialize() возвращает массив, который будет использоваться в качестве вывода результата.

Настройка ReturnCode

YanPHP предоставляет глобальный код возврата, который можно изменить в System/Yan/Core/ReturnCode.php. ### Индексы FollowSymLinks

Разрешить переопределение: Нет

Требовать всё предоставлено

Индекс каталога: interface.php
</Directory>
</VirtualHost>

Тесты

YanPHP написал соответствующие тестовые примеры. Можно провести модульное тестирование, запустив следующую команду. Также приветствуются пул реквесты для дополнения тестовых примеров.

phpunit --configuration phpunit.xml

Лицензия

MIT

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

YanPHP — это высокопроизводительный облегчённый фреймворк, разработанный для создания API. Развернуть Свернуть
MIT
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/JIANGWL-YanPHP.git
git@api.gitlife.ru:oschina-mirror/JIANGWL-YanPHP.git
oschina-mirror
JIANGWL-YanPHP
JIANGWL-YanPHP
master