ThinkPHP

逆天的蝈蝈/SFDP

前提是你 提交于 2020-03-23 18:38:38
3 月,跳不动了?>>> 欢迎使用SFDP3.0超级表单开发平台 SFDP3.0是一个快速构建表单的插件平台 SFDP3.0 前身是TPFD基于Thinkphp开发的可视化表单插件,经过三个版本的迭代更新,发布全新重构的表单设计开发一体的平台。 作者相关开源软件 GVP项目PHP开源工作流: http://tpflow.cojz8.com/ 下载地址: https://gitee.com/ntdgg/tpflow 3.0版本主要特性 Characteristic ♥ 可视化表单设计器 基于JQ UI的元素拖拽 Draggable Sortable 元素可移动拖拽设计 界面布局自定义化 ♥ 动态表单构建器 全新动态构建器 无实体页面及数据,全部由表单构建器进行管理 ♥ 脚本定义支持 load_satr_fun 页面构建前执行的函数 load_end_fun 页面构建完成后函数 内置常见的所有脚本 Ajax Upload 支持jQ所有脚本 ♥ 函数定义支持 支持使用 commonfun.sFun 进行数据交互,使得表单动态而又活起来。 ♥ 设计版本管理 多版本设计支持 ♥ 元素管理支持 支持对表单函数的管理 相关链接 官方博客: http://www.cojz8.com/ 演示站点: http://sfdp.cojz8.com/ 开发手册:编写中 版权信息 SFDP 遵循 MIT

初始化sentry

若如初见. 提交于 2020-03-16 18:29:37
某厂面试归来,发现自己落伍了!>>> thinkphp/library/think/App.php public function initialize() { $this->initSentry(); } /** * 初始化sentry */ public function initSentry() { $domain = $this->request->domain(); $sys = 'cli'; if (strpos($domain, 'sports') !== false) { session('sys', 'sports'); $sys = 'sports'; } if (\think\facade\Env::get('APP_ENV') == 'test') { \Sentry\init(['dsn' => 'http://dd2c004sdfasfe839c202ce8b4a3503801e046e@sentry-dev.owenzhang.cn/6']); } elseif (\think\facade\Env::get('APP_ENV') == 'prod') { if ($sys == 343) { \Sentry\init(['dsn' => 'http://3aa38ce999114ceebe78c60f8da4a189@sentry-dev.owen

轻松搭建基于 Serverless 的 ThinkPHP 应用

吃可爱长大的小学妹 提交于 2020-03-16 18:03:45
某厂面试归来,发现自己落伍了!>>> ThinkPHP 是什么? ThinkPHP 是一个免费开源的,快速、简单的面向对象的轻量级 PHP 开发框架,是为了敏捷 WEB 应用开发和简化企业应用开发而诞生的。ThinkPHP 从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简代码的同时,更注重易用性。遵循 Apache2 开源许可协议发布,意味着你可以免费使用 ThinkPHP,甚至允许把你基于 ThinkPHP 开发的应用开源或商业产品发布/销售。 效果预览 本文涉及到的两个应用示例部署后的链接,点击预览效果: ThinkPHP 官方示例: https://fc-thinkphp-demo.functioncompute.com ThinkPHP 博客示例: https://fc-thinkphp-blog.functioncompute.com ThinkPHP 博客示例管理后台: https://fc-thinkphp-blog.functioncompute.com/admin 环境准备 首先按照 Fun 的 安装文档 里介绍的方法将 Fun 安装到本机。 PS: 本文介绍的方法,不需要安装 Docker,仅仅安装 Fun 即可,最简单的方式就是直接下载可执行的二进制文件。 安装完成后,可以执行 fun --version 检查 Fun 是否安装成功。 第一个示例

ThinkPHP 6.0 如何分析IIS日志?

回眸只為那壹抹淺笑 提交于 2020-03-14 08:57:18
场景:有一台服务器是IIS架构,想了解其中一个js(index.js)每天被其他网站调用的情况。 首先下载所有的IIS日志架构一个TP6.0程序后放入 runtime/log 文件夹中。 public function checkIndexJs() { $file = root_path() . DIRECTORY_SEPARATOR . 'runtime' . DIRECTORY_SEPARATOR . 'log'; $temp = scandir($file); // 遍历文件夹 $result = []; $resultAll = []; foreach ($temp as $v) { $log = $file . DIRECTORY_SEPARATOR . $v; if (file_exists($log) && $v !== '.' && $v !== '..') { // 读取文件内容 $info = fopen($log, "r"); // 输出文本中所有的行,直到文件结束为止。 while (!feof($info)) { // fgets()函数从文件指针中读取一行 $itemStr = fgets($info); // 判断是否包含index.js if (strpos($itemStr, 'index.js') !== false) { preg_match(

thinkphp5.0 安装think-queue composer 报错 版本不符

十年热恋 提交于 2020-03-12 11:44:00
thinkphp5.0 安装think-queue composer 报错 版本不符 浅笑19 3218 阅读 0 评论 0 点赞 因为 think-queue 最新版本支持的tp版本是6所以5.0无法安装; 解决方法如下: 在composer.json的require节点内添加 "topthink/think-queue" : "^2.0" 然后执行 composer update 然后就可以正常安装think-queue了 来源: oschina 链接: https://my.oschina.net/u/152351/blog/3192359

现在学PHP还有价值吗?来看看我的学习路线

有些话、适合烂在心里 提交于 2020-03-10 12:32:10
前言 俗话说PHP是世界上最好的语言,哈哈,给大家开个玩笑。PHP作为一门编程语言,学会的话并不难。如果只去了解基础使用的话1、2天,想更深入的学习的话就需要更多的时间了。 其实,php的基础语法很简单,它是弱类型的语言。也就是说它并不用强制指定变量具体的数据类型,而只用一个$符号即可,既优雅又简洁。 下面简单推荐一个学习路线吧,我推荐的课程都是免费的,大家可以放心往下看。由于CSDN不能放过多的外链,以下提到的课程,感兴趣的小伙伴可以到我的公众号:冷月学长。来领取,回复PHP即可。 一.找网课学习php的基础课程 对于一个编程小白来说,直接去看技术文档、技术书籍是个很头疼的事情,这时需要一个入门级别的课程。听老师讲真的比自己看书快很多,而且可以避免很多的新手容易遇到的坑(比如开发环境问题、系统变量问题等)。 这里,我推荐大家看一下王亮老师的《十天学会PHP》,或者是燕十八——十八哥的《PHP3小时光速入门》。这两个课程都是免费的,并且时间并不长有点速成的味道,一个下午就能刷完,强烈推荐各位小伙伴看看。链接如下: 《十天学会PHP》: 十天学会PHP(第五版) - 网易云课堂 《PHP3小时光速入门》: PHP3小时光速入门 - 网易云课堂 二.打牢php基础知识、学习面向对象 在初步接触php后,小伙伴们能够简单的使用php来做一些应用。如果你想继续学习php的话

【软件周刊】layer 3.0.0 年终巨献,Solo 博客系统 1.7.0 、Spring Framework 5.0 M3 发布

こ雲淡風輕ζ 提交于 2020-03-08 13:04:40
layer 是一款近年来口碑极佳的 Web 弹层组件,她具备全方位的解决方案,致力于服务各个水平段的开发人员。 上周发布的 3.0.0 版本 ,作为 2016 年终巨献,又是一次全方位的增强。对于多年来使用 layer 的人而言,这个版本想必会收获较多惊喜。 各位快去下载使用吧! (3.0 对 2.x 版本无缝兼容,可直接覆盖升级) 值得关注的更新: 新增拖动弹层右下角可调节弹层尺寸的功能,由参数 resize 控制,默认开启。对 loading、tips 层无效 offset 参数新增 t、r、b、l、lt、lb、rt、rb、的赋值,可快捷实现上、右、下、左、左上角、左下角、右上角、右下角的边缘定位 新增 btnAlign 参数,支持三个参数:l/c/r,分别用于控制按钮居左、居中、居右的快捷设置(默认r,即居右) 点击最小化时,自动定位到页面左下角,在出现多个最小化时,会依次排列,这是一次较为重大的完善 新增关闭层的过度动画 不仅 layer 更新了新版本,经典模块化前端 UI 解决方案 Layui 也发布了 1.0.3 版本 , 更新日志: 集成 layer 3.0 重点增加导航菜单的二级菜单支持(水平导航和树形导航都支持) 表单 select 增加 optgroup 的分组支持 富文本编辑器新增获取选中内容的方法:layedit.getSelection(index) 新增

怎样选择PHP框架来学习和开发?

回眸只為那壹抹淺笑 提交于 2020-03-02 12:45:57
笔者第一次使用的框架是ZendFramework,这是Zend公司写的一个完全面向对象的MVC框架。同时,也是这个时候才了解MVC的思想。 在如此多的PHP MVC框架中,怎样去选择一款各方面都不错的框架学习并在项目中使用它?这是每一个PHPer都会面临的问题。比如当前比较流行的框架有:ZendFrameWork、ThinkPHP(国产)、CodeIgniter、YII等。每个人心目中的好坏标准不一样,再加上有的人习惯了某框架,想让他再接受其优秀的框架也是比较难的。所以,我们应该怎样去判断一款框架是否属于自己,变得非常的突出。现在我给出几个标准,大家赞同的点个赞,不赞同的欢迎讨论。 一、性能: 所谓的性能指的是IO、CPU占用、PHP解析时间等几个指标。当前的服务器最突出的问题是CPU已经非常快了,内存已经够大够便宜了,唯独硬盘IO不够高。这就像一个一个智商150与一个智商80的人做1+1一样,根本体现不出智商的优越性。 特别指出一点,ZendFrameWork框架是我见过IO效率最差的框架。在不借助任何缓存扩展与其他框架对比情况下,简直不能忍受它的IO效率。相对来说,在IO这块还是那些用C语言写的框架比较好,CPU占用也低,内存使用也低。比如大名鼎鼎的Yaf框架。但是,它有一个致命的问题,框架安装是以扩展形式安装的。如果框架有Bug的话,也很难侦测到。 二、全栈式

thinkphp获取mysql错误

人走茶凉 提交于 2020-03-01 21:42:55
最近用thinkphp时发现无法捕获mysql的错误信息,例如向表中插入一个主键 重复的数据时,程序便卡在那条语句上,就像下面这样 :( SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '1' for key 'PRIMARY' 错误位置 FILE: D:\*****\ThinkPHP\Library\Think\Db\Driver.class.php  LINE: 226 TRACE #0 D:\*****\ThinkPHP\Library\Think\Db\Driver.class.php(226): PDOStatement->execute() 在代码中 使用try catch 无效,最后修改 Driver.class.php文件 中169行和226行的 $result = $this->PDOStatement->execute(); 修改为 try { //lighthouse $result = $this -> PDOStatement ->execute() ; } catch (\PDOException $e ) { echo 'queryStr=' . $this -> queryStr . '<br/>' ; print "Error: " . $e -

ThinkPHP5 视图中访问静态图片 路径问题

空扰寡人 提交于 2020-02-29 15:41:51
解决后发现这是一个很简单的问题,但是折腾半天才解决掉。。。 1.前台视图中的图片存放在static目录的uploads目录下面,如下图 2.现在想做的是在视图中用img标签显示图片的内容 方法有两种,其实原理都是一样的: 第一种: 直接在src属性的路径中输入 /static/uploads/照片名称.jpg,注意static左侧的/是必须要加的: <img src='/static/uploads/照片名称.jpg" /> 第二种: 修改config.php中的view_replace_str 属性,如下修改 // 视图输出字符串内容替换 'view_replace_str' => [ '__IMG__' => '/static/uploads', ], 然后在视图中可以这么写路径<img src='__IMG__/照片名称.jpg" /> 注意:因为运行环境是Ubuntu,所以如果还是不能访问图片的话,试着修改uploads文件的读写权限,Linux系统中一定要时刻记着权限、权限、权限吆! 来源: oschina 链接: https://my.oschina.net/u/4439211/blog/3175465