写这篇文章就是想记录近一周学习的结果!希望对刚入门的php爱好者有帮助!
1、tp5.0安装去官网就好了!
2、layui,我不知道各位有没有接触过,但是我感觉这是一个非常棒的ui框架!链接地址: 点击打开链接
----------------------------------------------------------------------------------------------------------
!!废话少说,步入正题,撸代码,上图片!!
-------------------------------------------------------------------------------------------------------------
1、下载完成以后访问tp文件,会出现以下页面:
2、然后我根据当前项目的需求写了curd,布局给大家看一下:
虽然这样的布局cms也有,但是我感觉比那些更简便,引入css以及js文件就ok了!
3、tp5.0的路由访问:
http://localhost/thinkphp_5.0.10_full/public/login,
其实不配置路由的时候它是这样的又臭又长:
http://localhost/thinkphp_5.0.10_full/public/index.php/index/login/login,
但是配置以后的路由特别简介我喜欢,而且tp5的路由格式跟laravel及其相似,我个人感觉比laravel更让我舒服!
配置路由的位置:
thinkphp_5.0_full\application\route.php,
具体的我就不写了举个访问方式为get的栗子:
Route::get([
//首页面测试
'index'=>'index/Index/index',
]);
3.1假如你想绑定访问首页为登录页面你可以在public/index.php文件内绑定模块(红色字体就是你的需求),再来个栗子:
<?php
// +----------------------------------------------------------------------
// | ThinkPHP [ WE CAN DO IT JUST THINK ]
// +----------------------------------------------------------------------
// | Copyright (c) 2006-2016 http://thinkphp.cn All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
// +----------------------------------------------------------------------
// | Author: liu21st <liu21st@gmail.com>
// +----------------------------------------------------------------------
// [ 应用入口文件 ]
// 定义应用目录
define('APP_PATH', __DIR__ . '/../application/');
// 绑定到index模块
define('BIND_MODULE','index/LoginFunc');
// 加载框架引导文件
require __DIR__ . '/../thinkphp/start.php';
3.2tp5.0 model 层的增删改查!
<?php
/**
* Created by PhpStorm.
* User: cymsummer
* Date: 2017/8/23/10:33
*-----------------------------------------------------------------------------
* Content:I believe everything is possible,You can do better if you work hard
*-----------------------------------------------------------------------------
* Project name: www/radio.php
*/
namespace app\index\model;
use think\Model;
use think\Db;
class Radio extends Model
{
protected $table='radio';//表名
// 设置返回数据集的对象名
protected $resultSetType = 'collection';
//自定义初始化
protected function initialize()
{
//需要调用`Model`的`initialize`方法
parent::initialize();
}
/*
* 广播数据添加
* @$data 数据内容
* @$result 结果
* */
public function data_add($data)
{
return Db::table($this->table)->insert($data);
}
/*
* 广播数据查询
* @$courseid 课程id
* @$result 数据结果
* */
public function data_sel($data)
{
$result=Db::table($this->table)->where($data)->find();
return $result;
}
/*
* 查询全部广播数据
* @param array $result 广播内容
* @author cym_summer
* */
public function data_all(){
$result=Db::table($this->table)->select();
return $result;
}
/*
* 删除广播数据
* @param
* */
public function data_del($data){
$result=db($this->table)->where($data)->delete();
return $result;
}
}
3.3tp5.0 controller的方法调用,我强烈建议大家(仅为新手)在编写控制器的时候初始化一下控制器,这样可以模拟防盗链的功能,举个栗子:假如你在编写登录假如有用户没有登录就想访问你的index首页,因为有了控制器的初始化就会将这种人挡在“门外”,当然了你在初始化控制器内也得进行判定编写!下面以增加为栗子编写:
<?php
/**
* Created by PhpStorm.
* User: cymsummer
* Date: 2017/8/28/14:34
*-----------------------------------------------------------------------------
* Content:I believe everything is possible,You can do better if you work hard
*-----------------------------------------------------------------------------
* Project name: www/radio.php
*/
namespace app\index\controller;
use think\Controller;
use think\Request;
use app\index\model\radio;
use app\index\model\status;
use think\Session;
class RadioFunc extends Controller
{
/*
* 控制器初始化
* */
public function _initialize()
{
$uname = session("uname");
if (empty($uname)) {
$this->redirect('/login'); //跳转到后台管理
}
}
/*
* 广播数据添加
* @access public
* @param string $content 广播内容
* @param string $courseid 课程id
* @author cym_summer
* */
public function radio_add()
{
// 是否为 GET 请求
if (request()->isGet()) {
return view("radio/add");
} else {
$content = request()->post("content");
$courseid = request()->post("courseid");
$radio = new Radio();
$data = (["courseid" => $courseid, "content" => $content]);
$radio->data_add($data);
$this->redirect("/radio_show");
}
}
}
3.3tp5.0 的视图层,加了引入公共的文件,你可以将公共视图层文件建立一个common文件夹,放入头部文件以及底部文件,这样就可以解决代码重复编写的弊端:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>广播添加</title>
<!--头部公共样式引入-->
{include file="../application/index/view/public/style.html"/}
</head>
<body>
<div class="layui-layout layui-layout-admin">
<!--头部公共文件引入-->
{include file="../application/index/view/public/header.html"/}
<div class="layui-body">
<!-- 内容主体区域 -->
<div style="padding: 15px;">
<div class="login">
<fieldset class="layui-elem-field layui-field-title" style="margin-top: 20px;">
<legend>广播内容添加</legend>
</fieldset>
<form class="layui-form" action="radio_add" method="post">
<div class="layui-form-item">
<label class="layui-form-label">课程id</label>
<div class="layui-input-block">
<input type="text" name="uname" lay-verify="title" autocomplete="off" placeholder="请输入用户名"
class="layui-input">
</div>
</div>
<div class="layui-form-item layui-form-text">
<label class="layui-form-label">内容添加</label>
<div class="layui-input-block">
<textarea placeholder="请输入内容" name="content" class="layui-textarea"></textarea>
</div>
</div>
<div class="layui-form-item">
<div class="layui-input-block">
<button class="layui-btn" type="submit">立即提交</button>
<button type="reset" class="layui-btn layui-btn-primary">重置</button>
</div>
</div>
</form>
</div>
</div>
</div>
<!--底部公共文件引入-->
{include file="../application/index/view/public/footer.html"/}
</div>
</body>
</html>
<script>
//JavaScript代码区域
layui.use('element', function(){
var element = layui.element;
});
</script>
3.4差点忘记了公共php文件,路径在\thinkphp_5.0_full\application\common.php,我的左侧数据是经过数据查出来的,也就是公共文件,既然是公共文件那就得用到公共方法,举个栗子:
<?php
// +----------------------------------------------------------------------
// | ThinkPHP [ WE CAN DO IT JUST THINK ]
// +----------------------------------------------------------------------
// | Copyright (c) 2006-2016 http://thinkphp.cn All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
// +----------------------------------------------------------------------
// | Author: 流年 <liu21st@gmail.com>
// +----------------------------------------------------------------------
// 应用公共文件
use app\index\model\privilege;
class common
{
function one_menu($pid)
{
$prive = new privilege();
$arr = $prive->privilage_sel($pid);
return $arr;
}
function two_menu($pid)
{
$prive = new privilege();
$data = $prive->privilage_data_sel($pid);
return $data;
}
}
4、尾声,这篇并没有提到验证器这个鬼,等到下一篇我写laravel框架的时候再具体的说一下!以上的内容其实也挺普通的但是我记录下来就是想告诉自己我走过了,记性不好,怕自己忘记了!我会将代码上传到git上,希望能对各位有所帮助!github链接