sinret/自由职业者

使用简单的pdo和自动加载的sinret项目

安装: 9

依赖关系: 0

建议者: 0

安全: 0

星标: 0

关注者: 2

分支: 0

开放问题: 0

类型:pdo-extension

dev-master 2015-11-14 05:24 UTC

This package is not auto-updated.

Last update: 2024-09-18 17:02:08 UTC


README

通过单条命令生成PHP应用程序和PDO包装器

1. 通过composer创建项目

composer create-project -s dev sintret/freelancer your-directory

2. 引导

在你的页面上必须包含自动加载

require(__DIR__ . '/autoload.php');

3. 使用pdo查询

这是在models文件夹中加载模型的示例,你必须从sintret\pdo\Db扩展

models/BaseModel.php

class BaseModel extends sintret\pdo\Db{
    public function __construct() {
        parent::__construct(HOST, DB_NAME, DB_USER, DB_PASS);
    }
    
} 

index.php

$db = new BaseModel;

$songs = $db->query("SELECT * FROM song");
echo "<pre>";print_r($songs);

获取行

此方法始终只返回一行。

<?php
// Fetch a row
$ages     =  $db->row("SELECT * FROM song WHERE  id = :id", array("id"=>"1"));

获取单个值

此方法返回记录的单个值。

<?php
// Fetch one single value
$db->bind("id","3");
$firstname = $db->single("SELECT title FROM song WHERE id = :id");
结果

获取列

<?php
// Fetch a column
$names    =  $db->column("SELECT title FROM song");

### Delete / Update / Insert
When executing the delete, update, or insert statement by using the query method the affected rows will be returned.
```php
<?php

// Delete
$delete   =  $db->query("DELETE FROM song WHERE id = :id", array("id"=>"1"));

// Update
$update   =  $db->query("UPDATE song SET title = :f WHERE id = :id", array("f"=>"Jan","id"=>"2"));

// Insert
$insert   =  $db->query("INSERT INTO song(title,status) VALUES(:title,:status)", array("title"=>"Vivek","status"=>"20"));

// Do something with the data 
if($insert > 0 ) {
  return 'Succesfully created a new person !';
}

4. 使用模型工作

此示例创建了一个简单的类Song,如下所示

class Song extends sintret\pdo\Crud {

    protected $table = 'song';

    # Primary Key of the table
    protected $pk = 'id';
    // ling to class db connection here 
    public $className = 'BaseModel';
}

5. 使用模型创建/保存

创建新Song记录的示例代码将创建如下记录

$model = new Song();
$model->title = 'Disaat Aku Tersakiti';
$model->artist = 'Dadali';
$model->album = ' Disaat Aku Tersakiti';
$model->createDate = date("Y-m-d H:i:s");
$model->status = 1;
$model->create();

6. 使用模型查找

查找Song的示例代码将创建如下记录

$model = new Song();
$model->find(1);

echo $model->title;
echo $model->artist;

或者多行

$model = new Song();
$model->find(['artist '=>'Dadali','status'=>1]);

echo $model->title;
echo $model->artist;

7. 使用模型更新where

查找Song的示例代码将创建如下记录

$model = new Song();
$model->status = 2;
$model->rate = 66;
$model->save(3);

8. 使用模型删除

删除Song记录的示例代码将创建如下记录

$model = new Song();
$model->delete(1);

9. 使用模型获取所有记录

删除Song记录的示例代码将创建如下记录

$model = new Song();
$model->all();
echo "<pre>"; print_r($model);

10. 使用数组模型保存

使用数组保存Song记录的示例代码将创建如下记录

$model = new Song(['title' => 'I can teach you', 'artist' => 'bon jovi','status'=>1]);
$model->create();
echo "<pre>"; print_r($model);