thinkphp5

透析thinkphp5升级版开发框架tpframe

落花浮王杯 提交于 2019-12-06 18:22:10
这里将全面的介绍这个框架给我们开发带来的好处,让你们对它有更深层次的认识,喜欢或不喜欢的,欢迎大家前来留言讨论 一、目录层次结构 现在很多的项目,特别是大一点的项目里面,都会有很多的人参与,要进行程序查询找、修改或是升级扩展的时候,目录结构一目了然就显得很重要了,更重要的是后面的人来接手的话,目录结构不清楚,程序结构很乱的话,那估计接手的人只有哭了 下面就是tpframe的框架目录结构,是不是很干净 每个目录结构: addon:插件目录 application:应该模块目录 coreframe:核心程序目录 data:运行时目录(缓存、上传文件等) extend:扩展目录(保留),为了保持tp5程序扩展的风格,如果你习惯tp5的开发风格,你也可以在这里面扩展 theme:模板目录(前台、后台) 是不是很一目了然,各个功能模块都很清楚分开存放呀 二、程序分层结构 分层并不是tpframe弄出来的,而是把tp5的分层给充分利用起来,当然我这里不是说的程序框架模式,经典的还属MVC,那当然还有其它模式,像MVP,MVVM www.cnblogs.com/indream/p/3602348.html ,CBD,ORM等等 我这里要说的是MVC更细化分层,每层的在功能设计中所起的作用,为什么要这样设计等问题 我也看到过CV模式,有部分人就推崇这种简单直接的模式

thinkphp5内置分页功能第二页没有拿到参数,如何解决?

ⅰ亾dé卋堺 提交于 2019-12-06 16:05:18
本文转自: https://www.yunyingxbs.com/article/detail/id/342.html 感谢作者的无私分享! 最近在做项目,使用的是thinkphp5(tp5)开发的,使用tp5内置的分页功能。 那么,问题来了,我使用paginate函数生成分页时,若没有第二页是没有关系的,但是当出现分页时,结果没有请求参数。 也就是说,分页如何添加参数,搜索的时候第二页没有参数了,不可能每次手动添加吧? 查找paginate函数 细细看paginate函数包括三个参数,如下: /** *分页查询 *@paramint|array$listRows每页数量数组表示配置参数 *@paramint|bool$simple是否简洁模式或者总记录数 *@paramarray$config配置参数 *page:当前页, *path:url路径, *query:url额外参数, *fragment:url锚点, *var_page:分页变量, *list_rows:每页数量 *type:分页类名 *@return\think\Paginator *@throwsDbException */ publicfunctionpaginate($listRows=null,$simple=false,$config=[]) { 原来我们可以传配置参数的。那么就很好实现了。 解决办法

php手记之01-tp5框架安装

送分小仙女□ 提交于 2019-12-05 22:37:39
1.1、介绍 在web领域,PHP是所有编程语言中比较受欢迎的一门语言! PHP已经诞生出几十种编程框架!但国内最热门和使用率最好的框架有Thinkphp和Laravel这两款PHP框架! 1.2、为何选择thinkphp ThinkPHP是国内应用程度最高的一个PHP框架,简单易学是他的特点。很多人和企业选择它的原因,是因为它是国人开发,拥有非常丰富的中文文档和中文社区,有问题可以第一时间找到解决方案,可查询到的资料多。 1.3、开始使用 查看php的版本。使用的thinkphp5.1需要最低的PHP版本为PHP >= 5.6.0所以,这里你所需要安装的PHP版本一定比这个版本要高。 打开cmd窗口,输入 php –v        2.开启相关 php扩展 /*--> */ /*--> */     同时也要开启如下扩展 php.ini文件。        extension=php_openssl.dll extension=php_pdo_mysql.dll extension=php_mbstring.dll extension=php_fileinfo.dll extension=php_curl.dll extension=php_gd2.dll extension=php_soap.dll extension=php_mysqli.dll extension=php

【Git】thinkphp5自动化部署的注意事项

只谈情不闲聊 提交于 2019-12-05 15:27:29
直接开始 1 服务器克隆项目 git clone git@*****.com/project.git 2 更改所有者 chown www:www /www/wwwroot/project/* -R 3 project 根目录 chmod -R 777 .git/* 4 project 根目录 chmod -R 777 runtime/* 5 project 根目录 .gitignore /vendor *.log /thinkphp .env /runtime 完犊子了。告辞! 来源: https://www.cnblogs.com/richerdyoung/p/11931112.html

ThinkPHP5——模型的一对多关联

坚强是说给别人听的谎言 提交于 2019-12-04 23:23:24
关联定义 一对多关联的情况也比较常见,使用 hasMany 方法定义,参数包括: hasMany('关联模型名','外键名','主键名',['模型别名定义']); 例如租客表和宿舍表,一个宿舍有多个租客,宿舍和租客一对多的关系,表结构如下: #宿舍 CREATE TABLE `apartment` ( `apar_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '编号', `apar_name` varchar(40) DEFAULT NULL COMMENT '名称', `apar_type` varchar(20) DEFAULT NULL COMMENT '类型', `apar_price` varchar(30) DEFAULT NULL COMMENT '价格', `apar_sum` int(11) DEFAULT NULL COMMENT '床数', PRIMARY KEY (`apar_id`) ) COMMENT='宿舍'; #租客 CREATE TABLE `client` ( `cli_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '编号', `aid` int(11) DEFAULT NULL COMMENT '外键', #房间 `cli_name` varchar(20)

在xampp下安装thinkphp5

杀马特。学长 韩版系。学妹 提交于 2019-12-04 13:44:06
在xampp2016下安装thinkphp5 (本人的坑,说白了就是把thinkphp5的文件放到htdocs下) 1.把该xampp中的php文件夹路径设置进环境变量,这样才能全局运行composer 环境变量设置: 2.把composer中的两个文件放到php文件夹中 (该composer解压包以及thinkphp5.1链接:https://pan.baidu.com/s/1kYUM1KAkTe2ZSubVRQ6zNg 提取码:ueze ) 2. 在window下cmd执行: composer config -g repo.packagist composer https://packagist.phpcomposer.com composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ (失败时,打开xampp/php/php.ini,ctrl+F 查找extension_dir,修改为extension_dir = "E:\xampp\php\ext" (具体盘位置) 3. 在htdocs目录下cmd执行: composer create-project topthink/think=5.1.* tp5.1test (失败时,找到你的php.ini,ctrl

thinkPHP5开发智慧软文遇到的分页第二页不显示数据的问题

我的梦境 提交于 2019-12-04 08:04:18
在进行结果查询进行分页的时候,发现分页第一页数据正常,第二页没有数据,后面问题一样,这个是因为直接使用了: 如果此处使用如下语句: $lst=NewsModel::order('sendtime desc')->where('status',$val)->alias('a')->join('admin b','a.mtzid=b.id')->field('a.*,b.adminname')-> paginate(20); 在 view中会出现只有第一页有数据的现象,故而需要使用: $lst=NewsModel::order('sendtime desc')->where('status',$val)->alias('a')->join('admin b','a.mtzid=b.id')->field('a.*,b.adminname')-> paginate(20, false, [ 'query' => request()->param(),]); 来源: https://www.cnblogs.com/zhihuiruanwen/p/11847119.html

thinkphp5 安装

牧云@^-^@ 提交于 2019-12-04 03:57:56
thinkphp 5开始可以使用composer安装 所以在安装thinkphp5.1之前,我们先安装composer ,下载地址: https://www.phpcomposer.com/ 安装完composer之后,在命令行下: composer create -project topthink /think = 5.1 . * tp5 等待下载完,think = 5.1 . *框架thinkphp的版本 如果原来已经安装有thinkphp5.0的,则使用 composer update topthink /framework进行更新安装 查看tp版本号: use App ; var_dump(App:version()) ; 来源: https://www.cnblogs.com/DS-CzY/p/11829626.html

ThinkPHP5——模型(model)的使用

人盡茶涼 提交于 2019-12-03 15:19:38
在使用ThinkPHP5的过程中,我经常使用db进行数据库操作的,后来接触到了模型(model),刚使用时感觉跟db没啥区别,后来查官网知道模型基类中还提供了较多的其他的方法可以方便使用例如获取器、修改器、数据完成等等功能。 因此模型的功能更为强大, tp5官网推荐使用model。 就数据格式而言,在DB中是采用的数组格式使用。而在模型中统一使用对象。其中数据库交互后涉及到格式转换。因此在同等情况下db的数据略快与模型方式。 因此对于ThinkPHP5使用DB与model的方式具体在编程中选择哪一个按照个人的观点并无强制要求。有时候为了项目中的封装采用模型方式可能更为合适一些 1、模型定义 在model定义一个Blog模型类: <?php namespace app\demo\model; use think\Model; class Blog extends Model { //默认主键为自动识别,如果需要指定,可以设置属性: //protected $pk = 'uid'; } 模型会自动对应数据表,模型类的命名规则是除去表前缀的数据表名称,采用驼峰法命名,并且首字母大写,例如: 模型名 约定对应数据表(假设数据库的前缀定义是 think_) User think_user UserType think_user_type 2、模型调用 模型类可以使用 静态调用 或者

PHP 当Swoole 遇上 ThinkPHP5

做~自己de王妃 提交于 2019-12-03 14:22:15
本文假设你已经有了 Linux 操作系统的 PHP 环境,强烈推荐使用 Vagrant 来搭建开发环境 安装 Swoole PECL 拓展 可以通过 pecl 命令或者通过源码包编译安装,本文采用 pecl 命令来安装 Swoole在命令行输入 $ > pecl install swoole 安装 Swoole PECL 拓展,执行命令后通过php -m命令来检查 Swoole 是否安装成功,如果返回的拓展列表中包含swoole则表明已经安装成功,也可以通过phpinfo来检查 Swoole 是否安装成功。 安装 ThinkPHP5 框架1.安装 Composer如果已经安装了 Composer 可以跳过本步骤,但是请确定通过composer self-update命令来确保已经使用了最新版本的 Composer 使用以下命令可以直接通过 Composer 官网下载 Composer.phar 并自动安装到/usr/local/bin/目录下 $ > php -r "readfile('https://getcomposer.org/installer');" | php -- --install-dir=/usr/local/bin/ --filename=composer $ > composer self-update 如果以上安装过程极慢的话,可以尝试用以下方式通过