2017 © Pedro Peláez
 

edphp-framework framework

the php framework

image

edphp/framework

the php framework

  • Sunday, July 29, 2018
  • by EdwardsBean
  • Repository
  • 1 Watchers
  • 0 Stars
  • 17 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 1 Versions
  • 0 % Grown

The README.md

composer自动加载注意

composer.json中加入需要autoload的目录或文件,修改后要重新composer install生成新的autoload.php, (*1)

单元测试

./vendor/bin/phpunit --bootstrap ./vendor/autoload.php ./tests/ReflectionTest

测试工程添加framework依赖

测试工程添加:, (*2)

    "repositories": [
        {
            "type": "path",
            "url": "F:/workspace/edphp",
            "options": {
                "symlink": true
            }
        }
    ],

然后添加framework依赖,以链接形式:, (*3)

composer require "edphp/framework @dev"

控制器相关

wrap_return_object参数默认为true。控制器返回数据统一用Msg对象包装起来。也可以控制器直接返回Msg对象。, (*4)

/Address/list 对应控制器Address类的list方法。, (*5)

/express_type/find_one 对应ExpressType类的findOne方法, (*6)

数据库操作

DB 初始化, (*7)

Query 组装,用户入口。把参数都塞进options Connection 封装对应driver调用 Builder 将options解析封装成driver query,交给connection执行。 query.get() -> connection.get() -> builder.select() -> connection.query(), (*8)

改造的话,主要是在builder里。connection会添加特定数据库的额外配置到options中。, (*9)

Query Builder

db('tableName')返回query对象。, (*10)

//where开头,get结尾确定查询 db('accounts')->where('username', 'edwardsbean')->get(); db('accounts')->where('votes', '>', 100)->get(); db('accounts')->whereBetween('votes', [1, 100])->get(); db('accounts')->where('username', 'edwardsbean')->getOne(); db('accounts')->where(['username'=>'edwardsbean'])->get(); db('accounts')->where('username', 'edwardsbean')->order('age', 'desc')->get(); //多字段排序??? db('accounts')->where('username', 'edwardsbean')->paginate(0, 20);, (*11)

//update with id db('accounts')->save(['id'=>1, 'username'=>'edwardsbean']); //insert without id db('accounts')->save(['username'=>'edwardsbean']); //多条数据 db('accounts')->saveAll(['username'=>'edwardsbean']);, (*12)

Raw Query

DB::insert/update/delete/statement('insert into users (id, name) values (?, ?)', [1, 'Dayle']);, (*13)

原生查询

db()->query/execute("sql");, (*14)

Method Query

输入参数大于1个时,需使用array 查询关键字: - findBy - existsBy - deleteBy - removeBy - countBy, (*15)

逻辑关键字: - Gte 大于等于 - Gt 大于 - Lt 小于 - Lte 小于等于 - In - not - Notint - Between - Or
- And - Like - Notlike, (*16)

db('accounts')->findByUsername('edwardsbean'); db('accounts')->findByUsernameAndAge(['edwardsbean', 18]); db('accounts')->findByUsernameLike('%ed%'); db('accounts')->findByAgeGte(18); db('accounts')->existsById('5asfdrqwerqw'); db('accounts')->count(); db('accounts')->countByAge(28); db('accounts')->deleteByUsername("edwardsbean"); //return affect rows db('accounts')->removeByUsername("edwardsbean"); //return list of object db('accounts')->removeByUsernameOrAge(["ed", 18]); db('accounts')-> db('accounts')-> db('accounts')-> db('accounts')->, (*17)

Transaction

DB::transaction(function () { db('users')->update(['votes' => 1]);, (*18)

db('posts')->delete();

}, 5);, (*19)

Chunking Result(TODO)

The Versions

29/07 2018

dev-master

9999999-dev

the php framework

  Sources   Download

The Development Requires

by Avatar EdwardsBean