sinret / 自由职业者
使用简单的pdo和自动加载的sinret项目
dev-master
2015-11-14 05:24 UTC
Requires
- php: >=5.4.0
- sintret/pdo: dev-master
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);