interaapps/ulole-framework

此包的最新版本(3.3.4)没有可用的许可信息。

3.3.4 2022-07-28 15:25 UTC

This package is auto-updated.

Last update: 2024-09-28 20:30:35 UTC


README

ulole-framework是一个高度可定制的PHP框架。

基于

创建项目

# With UPPM
uppm create myapp interaapps/ulole-framework

# Or with Composer
composer create-project interaapps/ulole-framework myapp

示例

app/App.php

<?php
namespace com\example\myproject;

use com\example\myproject\model\User;
use de\interaapps\ulole\orm\UloleORM;
use de\interaapps\ulole\core\Environment;
use de\interaapps\ulole\core\WebApplication;
use de\interaapps\ulole\core\traits\Singleton;

class App extends WebApplication {
    
    use Singleton;

    public static function main(Environment $environment){    
        self::setInstance( (new self())->start($environment) );
    }

    public function init() : void {
        $this->getConfig()
            ->loadENVFile(".env"); 
            
        // A ulole-framework helper for UloleORM::database("main", new Database(...))
        $this->initDatabase(/*Config prefix*/ "database", "main");
        UloleORM::register(User::class);
    }

    public function run() : void {
        $this->getRouter()
            ->get("/user/{i+:userId}", function($req, $res, int $userId){
                $res->json([
                    "user" => User::table()->where("id", $userId)->get()
                ]);
            });
    }
}

命令行界面

服务

php cli serve

一个简单的服务命令(在本地主机:8000上运行)

交互式环境

$ php cli repl
>>> ["Hello"=>"World",  "Yep" => 1337.1945, "Wait, what?" => null, "Am I allowed to eat chicken?" => true,  "Am I allowed to eat wasps?" => false, "Show me what I am allowed to" => [  "Doing nothing", true,  false, null, 31423 ], "give me user" => \app\model\User::table()->get() ]
...
>>> echo "Hello world :)"

https://i.imgur.com/8DCu9DI.png

多行使用 \

$ php cli repl
>>> function test(){\
...   echo "Hello world :)";\
... }

null
>>> test()
Hello world :)

我们还将检查 [({,

>>> [
...   "adsfasfd"=>31412341234,
...   "asfdasfd"=>"asfasdfasd"\
... ]

[
   "adsfasfd": 31412341234
   "asfdasfd": "asfasdfasd"
]

创建

有一个有用的工具用于创建模型和其他内容。

$ php cli create:model Test

https://i.imgur.com/62xwkgY.png

迁移

迁移上

$ php cli migrate:up
Migrated resources\migrations\migration_220511_000000_create_users

迁移下

$ php cli migrate:down (how many versions down, optionak)
Downgraded resources\migrations\migration_220511_000000_create_users

迁移状态

$ php cli migrate:status
 model                               | migrated | version
 migration_201122_001143_create_user | YES      | 1

https://i.imgur.com/Se2tGmm.png

数据库

这是一个工具,只需在数据库中漫步并创建一些SQL查询。 https://i.imgur.com/bJRM8EW.png

附加

使用其他模板引擎

示例:blade

app/helper/helper.php
// composer require jenssegers\blade 
use Jenssegers\Blade\Blade;

$blade = new Blade("resources/views", "cache/views");

function view($view, $vars=[]) {
    global $blade;
    return $blade->render($view, $vars);
}