打算从三个比较普遍常用的框架带领那些初入门的小伙伴(老鸟勿喷)快速上手一个框架,期间会分享一些自己的编码习惯,和代码思路,这三个框架分别是thinkphp(简单的轻量级国产框架)、Lumen(为速度而生的 Laravel 框架)、Yii(基于组件、用于开发大型 Web 应用的高性能 PHP框架)。
首先呢,先来聊一聊Lumen(用API接口案例来讲)。
* 超越你的期待
*/$app->get(‘/’,function(){returnview(‘lumen’);});/**
* 重新定义微框架
*/$app->post(‘framework/{id}’,function($framework){$this->dispatch(newEnergy($framework));});
这个在官网注称 有着 闪电一般的运行速度, Laravel 强大的功能,优雅的语法, 无缝迁移,相对来说笔者写接口的话还是蛮喜欢这个框架的,在文章后面会放一些框架与框架之间的分析数据图 供大家参考,但是不会去评判它们之间的好与不好。
第一步 下载与安装:
下载地址:http://www.golaravel.com/download/
版本选择:Lumen (5.2.9) (Laravel Components 5.2.*)
下载完毕后 如果直接访问 入口文件会提示以下错误:
不用着急 这个问题 配置 下Apache 虚拟主机就行了,如下图:
然后我们运行下看看结果,显示下图就已经正常啦,恭喜你成功入门lumen(●´∀`●),哈哈开个玩笑,个人觉得呢写一个项目很多时候都在频繁操作数据库,所以,入门怎么能少得了增删改查呢,跟着我的步骤,让我们就一步步来写个增删改查吧。
第二步 修改配置文件
首先进入根目录找到.env文件(此处为数据库配置文件)
然后修改配置信息(如下)
DB_CONNECTION=mysql //数据库类型
DB_HOST=localhost //数据库地址
DB_PREFIX=xw_ //表前缀
DB_PORT=3306 //端口
DB_DATABASE=test //数据库名
DB_USERNAME=root //
DB_PASSWORD=dzgphp123 //数据库密码
{{{(>_< )}}} 数据库到此就简单的配置完毕了,接下来我们继续配置路由,简单来说就是给客户端访问的地址。
找到 \app\Http\routes.php 文件
写入代码:
//******首页数据******
$app->post(‘home’,’IndexController@Index’);//默认首页 IndexController(控制器) Index(方法名)
注意: $app->post无法通过浏览器直接访问。想在浏览器访问可以采用$app->get,⊙△⊙?可以使用接口
调试工具采用post请求访问啦,( ̄_, ̄)不信你可以试试。推荐使用postman
第三步 抒写代码
好啦配置都完毕啦,看看路由我们配置的控制器为IndexController 方法名叫index,接下来我们在
\app\Http\Controllers 下创建一个IndexController.php
写入代码如下:
(╥╯^╰╥) 简书上不知道咋插入代码 直接copy上来 一坨坨的影响美观,只能委屈各位兄弟姐们(●´∀`●) 加加群,
直接找群主拿代码一起交流技术多方便,你说是不是,(●´∀`●)是不是。群号:499125737。
好啦,然后我们在 app目录下创建一个Models文件夹
在Models 里面 创建 Model.php 与 Article.php
Article.php粘贴如下代码
๑乛◡乛๑ 刚才不是说不会插入代码么,下面代码不是插入的好好的?
咳咳,那啥? 那不是广告 那是来自码农的召唤,毕竟 Wei ar 伐木累!…(●´∀`●)
// +———————————————————————-
// | @access : 文章Model类
// +———————————————————————-
// | @author: 你瞅啥?
// +———————————————————————-
// | @since 1.0
// +———————————————————————-
namespace App\Models;
use Illuminate\Support\Facades\DB;
use Cache;
class Article extends Model
{
protected $posts_model;
public function __construct(){
$this->posts_model = DB::table(‘posts’);
}
/**
* some_func
* 函数的含义说明
* 文章(增删改查)
* @access public
* @param mixed $type 默认查询 add(增加) up(修改) del(删除)
* @param mixed $id 文章id
* @since 1.0
* @return json
* ———————————————————————–
* response_func
* 响应速度
* 优化记录 暂无
* 优化记录 ….
*/
public function Article_operation($type=”,$id=””){
//$id=$id?$id:$this->JsonData($this->other,’文章id不能为空’,”);
switch($type){
case ‘add’://预留
break;
case ‘up’://预留
break;
case ‘del’:预留
break;
default://查询
$data=$this->posts_model
->select(‘id’,’post_title’,’post_excerpt’,’post_date’,’comment_count’,’istop’,’smeta’,’category_name’)
->get();
return $this->JsonData($this->seccess,’查询成功’,$data);
}
}
}
Model.php粘贴如下代码:
$code,
‘message’ => $msg,
‘data’ => $data
);
$arr=array_filter ($arr);
echo json_encode($arr);exit;
}
/**
* @name:预留的干货
* @info:数据缓存方法
*
*/
public function ArticleCache($name,$type=”,$data=”){
//缓存数据
switch ($type){
case 1:
Cache::put($name,$data,$this->cachtime);
break;
default://默认打开
Cache::put($name,$data,$this->cachtime);
}
}
}
第四步 查看结果:
看到了哈,上图完美运行了,然后自己接着完善方法就行,有不懂的可以加群加qq一起讨论前进 也可以看看手册,
在具体的就木有了哈,毕竟这只是一个用来写接口的入门教程。
再来呢,就是聊一聊YII (用搭建后台案例来讲).
ε=(・д・`*)ハァ… 未完待续 因平时得上班,一些长篇文章会慢慢更新 !