Yii和ThinkPHP对比杂谈】的更多相关文章

关于ThinkPHP(以下简称TP)和Yii Framework(以下简称Yii)的背景.作者和速度方面就不涉及了.因为速度是一个很复杂的问题,牵扯的因素很多.我不得不承认ThinkPHP是 一个是国内框架运营方面的榜样(当FleaPHP/QeePHP最火的那阵,我说过FleaPHP/QeePHP会倒的).运行环境:Windows NT ACER 5.1 build 2600 (Windows XP Professional Service Pack 3) i586Apache/2.2.14 (…
本人小菜鸟一只,为了自我学习和交流PHP(jquery,linux,lamp,shell,javascript,服务器)等一系列的知识,小菜鸟创建了一个群.希望光临本博客的人可以进来交流.寻求共同发展.搭建平台. 本人qq群也有许多的技术文档,希望可以为你提供一些帮助(非技术的勿加). QQ群:   281442983 (点击链接加入群:http://jq.qq.com/?_wv=1027&k=29LoD19)    QQ:1542385235 这是我的真心体会,在尝试使用Laravel.Thi…
如果你是为了工作和就业,你应该选择框架以工作为目标,看公司里面未来招聘中用的最多的是什么框架.很简单的判断方式 很多朋友都不知道如何去选择框架,选择框架的时候就会很纠结.到底该学什么框架,选择什么框架呢?特别纠结该如何选择PHP框架,明明学习框架只需要一周,结果纠结选择框架选择了一个月.这真是对于很多中级选手来说是一个郁闷的过程. 我们评价一个框架有几个点供大家参考. 1,你选框架的目地是为了什么? 如果你是为了工作和就业,你应该选择框架以工作为目标,看公司里面未来招聘中用的最多的是什么框架.很…
http://www.ibm.com/developerworks/cn/opensource/os-cn-yii/ http://codeigniter.org.cn/ http://baike.baidu.com/link?url=tBz-WEY7XblzBEUjjflBPPp39BFqVk-TyMkeKhTq_5c30eFQi8xzf6RS69VMlDxm1a0Q4qYlTfFeA7ItxCCOSK…
将php原生语句实例化SphinxClient对象移植到yii2框架中报错 原生语句中这样写: $s = new SphinxClient(); 框架中应该加入反斜杠,这样写: $s = new \SphinxClient(); 其他php内置对象实例化一样参考上述方法. 和命名空间有关,因为原生的php没有用到命名空间,框架中启用了,会当前命名空间中寻找这个类,找不到会报错.…
Q:Access denied for user 'root'@'localhost' 错误 A:第一种:配置文件中把数据库的用户名密码再改一遍,把runtime里的文件删除  第二种:修改system的host文件,关联 127.0.0.1 localhost Q:无法加载模块:index (http://127.0.0.1/) A:文档中说明了 标准的URL模式 http://serverName/index.php/模块/控制器/操作 一样不能少 直接写Index 控制器, 没有写模块名称…
首先关于node.js的学习,这里推荐一本比较好的教程,nodejs web开发指南,该书通俗易懂地将node.js语言特性讲解完之后,又从一个项目角度带领读者使用node.js学习web开发.相信这是一个比较好的学习模式和过程.由于这本书是2012年出的,书中的一个web教学项目是开发一个微博.从2012到现在,node.js及其生态环境发生了很大改变,所以关于该书的学习如果照着书本显然是过于陈旧的.到目前为止,node.js的web开发框架已经升级到了Express4.12.1,对于Mong…
前言 国内大量网站在使用Discuz程序,当然,大多数网站只将其作为一款论坛程序,少量的将其作为一款完整的社区程序.因此,授权不授权的情况撇开不谈,很多人都会基于该款程序进行二次开发. Discuz二次开发,一般来说是基于其插件机制.钩子机制或模块机制. Discuz从模式上来说,本身是多应用入口多模块的框架,即你可自行定义一个应用入口比如money.php,然后为其编写相关模块,具体见官方开发者wiki:http://dev.discuz.org/wiki. 但对比其他典型的现代的PHP 框架…
(原标题:面试常见问题之ZF.TP.CI等框架的区别 http://blog.163.com/m13341159039_1/blog/static/245953061201522092212820/) HELLO WORLD性能测试 http://www.ttlsa.com/php/yii-yaf-ci-php/ Zend Framework简称ZF ZF是Zend官方产品, 代码严谨, 采用了完全面向对象的模式, 可使用命令脚本创建项目, 纯PHP5环境, 使用了大量的接口.异常.抽象. ZF…
phpstorm&Laravel PHPstorm是我见过的最好的PHP的IDE,前年用的时候就毫不犹豫的抛弃了zend studio :) ,Laravel是我用过最好的框架,除了做手游后台这类有高并发需求的项目的时候会使用swoole,像yii,thinkPHP,zend之类已经直接不在项目中用了,不过悲伤的是最好的IDE不支持最好的Laravel的代码提示,后来我在github上翻,找到了laravel4-phpstorm-helper这个工具,不过很遗憾,已经不更新很久了,后来在外国论坛…
PHP不仅仅是PHP   PHP不仅仅是PHP. PHP的面试不仅仅会问到PHP语言本身(基本都是基础和细节),下面列举的主要是都是高级工程师的要求 比如:PHP中include和require的区别详解, 各个版本间差异,就算没用过别的版本,也要看一下私下学习一下,也至少要看一下版本7,体现你的爱学习有学习精神(会有加分哦) 然后还会问到: MySQL:包括索引(索引命中),引擎(常用引擎及区别),高并发,表结构的设计,如何排查慢查询 HTTP协议:三次握手,状态码,请求的头部和body以及响…
本技能关键字列表是从最近招聘PHP的数百份JD中统计出来的,括号中是出现的词频.如果你的简历要投递给有机器(简历分选系统)和不如机器(不懂技术的HR)筛选简历环节的地方,请一定从下边高频关键词中选择5-10个适合你自己的. php(959) mysql(525) web(280) linux(269) css(246) javascript(241) html(196) ajax(151) jquery(120) sql(105) mvc(104) lamp(91) js(76) apache(…
本人亲自配置测试后.性能相当不错.不过有一点.使用极不符合国人习惯,甚至和大多数主流PHP框架如Zend Framework,Yii,Ci,Thinkphp都不一样. Phalcon 是一个开源的,全堆栈的,用C语言写成的php5框架,专为高性能设计.你不需要学习和使用C语言的功能,因为这是一个PHP框架,只不过用C写成而已.同时Phalcon是松耦合的,您可以根据需要使用其他组件. Phalcon不只是性能优越,我们的目标是让它强大而且易于使用! 从介绍上可以总结出几个特点: 1.开源 可以下…
php从入门到放弃系列-01.php环境的搭建 一.为什么要学习php 1.php语言适用于中小型网站的快速开发: 2.并且有非常成熟的开源框架,例如yii,thinkphp等: 3.几乎全部的CMS内容管理系统,例如织梦,discuz,帝国,江湖等,采用php语言,而CMS内容管理系统,发展势头良好,使用与多数门户网站,电商网站的开发: 二.什么是php语言 PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言.语法吸收了C…
1.你都做过什么项目? 答:第一份实习工作接触的项目是CRM 销售管理系统,一款用JSP语言开发的进销存管理系统.第一份正式工作是一款主打高质量图片社交社区网站项目,“美啦周末”(后改型为”聊会儿”).第二份工作是在一个外包公司工作,项目较多,都是交叉进行,论坛.微信.商城.门户网站都接触做过. 2.你都做过哪些模块? 答:登录注册,商品管理.购物车模块.订单管理.后台数据统计分析.APP接口编写.SEO简单优化.第3方数据抓取. 3.当前国内或本地主要流行的WEB前端框架和后端框架? 答: 前…
缘起 在PHP开发中,选择合适的框架有助于加快软件开发,节约宝贵的项目时间,让开发者专注于功能的实现上.框架的问题是需要很多的投入,选择框架时,我们更看重这个框架的未来,存在多年的大型框架必须要有好的,而且要时刻做好调整. 有一点很重要,框架只是工具,不能抱有对框架太多的幻想,如何理解呢,就是说有时候你可能会遇到框架没有提供我们想要的具体工具. 排行 Sitepoint网站做了一个小的调查,看看PHP开发者们最喜欢使用哪个PHP框架.调查结果显示,最流行的PHP框架前三甲为:Laravel.Ph…
工作这么多年,也面试过很多PHP工程师,我发现很多PHP工程师只停留在使用框架的层面,然而对框架底层根本没有深入去了解,那么这就会给自己的职业生涯带来一定的瓶颈,当遇到问题的时候你就无从下手,不知道如何去排查与调试,更别说去扩展核心库,相反,如果大家对框架底层源码有一定的了解,这样的问题就变得简单很多, 学习某一项语言都是需要耐心,学习框架贵在坚持,这会让你对PHP全局以及框架底层有质的飞跃. 总而言之:搞技术的,既然入坑了,就得知道一个理念:知其然还得知其所以然,停留在会用阶段,职业生涯肯定走…
# PHP 工程师技能图谱## 基础知识 - HTTP - HEADER - REQUEST - RESPONSE - GET/POST/PUT/DELETE/PATCH/CONNECT/OPTIONS - HTTPS- TCP/UDP- DNS- SESSION/COOKIE- CGI/Fast-CGI/PHP-FPM- 重定向- Restful API- 基础语法 - 命名空间 - 生成器(Generator) - 引用 - 魔术常量 - 类与对象 - 魔术方法 - 重载 - Trait #…
这是我的真心体会,在尝试使用Laravel.ThinkPHP.Yii.symfony2.CI.cakephp.Yii2 之后的真实想法(default7#zbphp.com). 1)ThinkPHP (版本号3.1.3) 我一開始用到的是ThinkPHP 3.1.3,入门门槛就是网址与方法相应这一点.当初我接触ThinkPHP3.1.3的时候事实上3.2版本号刚出不久,3.2与3.1.x相比是部分重构,用上了最新的命名空间,考虑到购买的虚拟主机可能不支持命名空间(命名空间必须PHP 5.3.3+…
ThinkPHP 类似Yii的Gii生成Model的功能.自动生成ThinkPhp 3.1 的基础模型.. #!/usr/bin/env php <?php /** * * THINKPHP 基础模型生成工具 * 使用方法 * 命令行: php 本php文件 表名字 * 然后复制生成好的代码 * * */ $host = 'localhost'; $user = 'root'; $pass = 'root'; $tablePre = 'weixin_';//表前缀 $dbName = 'weix…
ThinkPHP运算符 与 SQL运算符 对比表 TP运算符 SQL运算符 样例 实际查询条件 eq = $map['id'] = array('eq',100); 等效于:$map['id'] = 100; neq != $map['id'] = array('neq',100); id != 100 gt > $map['id'] = array('gt',100); id > 100 egt >= $map['id'] = array('egt',100); id >= 10…
  前  言 JRedu 程序猿是一种慵懒的生物!能少敲一行代码,绝对不会多敲一个字符!所以,越来越多的开发框架应运而生,在帮助我们完成功能的同时,极大程度上也帮我们节省了人力物力,而且也提高了系统的安全性能. 而PHP,号称"世界上最好用的编程语言"!自然也拥有一大群的"脑残粉",让诸多的PHP程序猿投入到框架的开发过程中.从众所周知的ThinkPHP.PHPCMS,到时下流行的YII.Symfony.Laravel.Workerman.CodeIgniter等众…
ThinkPHP model类其实自带这个功能 可以写一个基础类继承Model 模型层代码: <?php namespace Manager\Model; use Think\Model; class BaseModel extends Model { public function autoValidation($data,$type) { if(false === $this->options['validate'] ){ // 关闭自动验证 return true; } if(!empt…
简要归纳: 1.二者都可用来接收post表单提交的数据. 2.I('post.')方法可直接接收赋值给变量如$post=I('post.'),create()方法源于父类模型封装,需先实例化父类模型,如:$post=M('Test')->create(). 3.I('post.')方法内置默认过滤方法htmlspecialchars可过滤html实体,create()方法需手动创建. 4.create()方法包含一系列 自动验证 自动处理 字段映射等机制(需自定义规则),I('post.')方法…
参考: https://framework.zend.com/bl...参考: https://laravel.com/docs/5.5/... 第一步:软件的下载和安装 软件1:VirtualBox5.2(122M) 下载日期为2018-08-22,选择版本是5.2.8下载地址: https://www.virtualbox.org/wi...,我下载的是5.2.8[109M]5.1下载地址:https://www.virtualbox.org/wi... 点击 Windows hosts x…
[测试所用服务器8核,16G内存]压测接口:很简单,从一张表里根据主键随机查询出一条数据[数据库服务器和WEB服务器分开的].表数据量大概:910000+条. 这个测试结果很有趣:tp5.0和3.2性能没有体现出较大的区别,不知道是不是因为测试太片面.相比原始PHP,性能确实下降得厉害.JAVA的性能和原生PHP比,还差得不少.谁对JAVA很熟悉的能不能说说,是不是我的测试方法有什么没对,或者说太片面.swoole有点牛逼. 测试: ab -n -c http://127.0.0.1:xxxx/…
ThinkPHP简称TP,TP借鉴了Java思想,基于PHP5,充分利用了PHP5的特性,部署简单只需要一个入口文件,一起搞定,简单高效.中文文档齐全,入门超级简单.自带模板引擎,具有独特的数据验证和自动填充功能,框架更新速度比较速度. 优点:这个框架易使用 易学 安全 对bae sae支持很好提供的工具也很强大 可以支持比较大的项目开发 易扩展 全中文文档 总的来说这款框架适合非常适合国人使用 性能 上比CI还要强一些 缺点:配置对有些人来说有些复杂(其实是因为没有认真的读过其框架源码)文档有…
1.ThinkPHP中实例化对象M()和D()的区别 在实例化的过程中,经常使用D方法和M方法,这两个方法的区别在于M方法实例化模型无需用户为每个数据表定义模型类,如果D方法没有找到定义的模型类,则会自动调用M方法.通俗一点说:M实例化参数是数据库的表名.D实例化的是你自己在Model文件夹下面建立的模型文件 例如:$user = new UserModel(); 等价于$user = D('user'); 如果实例化的是一个空模型 例如 $Demo = new Model(); 那么它等价于…
错误调试, E($msg)? 这个是tp内置的E 方法, E 函数. 它是tp抛异常 的另外一种方式. 默认的异常处理方式是, 在 框架下的 ThinkPHP/Tpl/think_exception.tpl, 其中的提示消息是: $e['message'], 而 E($msg)的使用场合是: 抛自定义异常消息: 如果你不想显示系统默认的 $e['message'], 那么你可以用 E 方法,显示自定义的异常消息. 而实际上, E方法,还是走的异常 途径, 它是: E($msg, $code=0)…
Yii 1 实现后台搜索,效果如下: 一. 下拉搜索: 1.模型中和常规的一样 if (isset($_GET['agency']['status']) && $_GET['agency']['status'] != 0) { $criteria->compare('status',$_GET['agency']['status']); } 2.控制器中,先确定下拉选项,用一个数组储存下拉列表 //审核状态 $checkStatusList = array( "0"…