php框架

PHP四大主流框架的优缺点总结

假如想象 提交于 2019-12-28 21:17:06
本篇文章我们来讲讲PHP四大框架的优缺点都有哪些,让你们在开发中更好的去选择使用哪款PHP框架去完成项目,废话不多说,我们一起来看看吧!! ThinkPHP ThinkPHP(FCS)是一个轻量级的中型框架,是从Java的Struts结构移植过来的中文PHP开发框架。它使用面向对象的开发结构和MVC模式,并且模拟实现了Struts的标签库,各方面都比较人性化,熟悉J2EE的开发人员相对比较容易上手,适合php框架初学者。 ThinkPHP的宗旨是简化开发、提高效率、易于扩展,其在对数据库的支持方面已经包括MySQL、MSSQL、Sqlite、PgSQL、 Oracle,以及PDO的支持。ThinkPHP有着丰富的文档和示例,框架的兼容性较强,但是其功能有限,因此更适合用于中小项目的开发。 推荐阅读: ThinkPHP6源码分析之应用初始化 ThinkPHP6源码:从Http类的实例化看依赖注入是如何实现的 ​ thinkphp 6.0 swoole扩展websocket使用教程 ​ 优点: 1.易于上手,有丰富的中文文档; 2.框架的兼容性较强,PHP4和PHP5完全兼容、完全支持UTF8等。 3. 适合用于中小项目的开发 缺点: 1.对Ajax的支持不是很好; 2.目录结构混乱,需要花时间整理; 3.上手容易,但是深入学习较难。 Yii Yii 是一个基于组件的高性能php框架

php中流行的rpc框架详解

白昼怎懂夜的黑 提交于 2019-12-26 21:46:00
什么是RPC框架? 如果用一句话概括RPC就是:远程调用框架(Remote Procedure Call) 那什么是远程调用? 我的官方群 点击此处 。 通常我们调用一个php中的方法,比如这样一个函数方法: localAdd(10, 20),localAdd方法的具体实现要么是用户自己定义的,要么是php库函数中自带的,也就说在localAdd方法的代码实现在本地,它是一个本地调用!远程调用意思就是:被调用方法的具体实现不在程序运行本地,而是在别的某个远程地方。 远程调用原理 比如 A (client) 调用 B (server) 提供的remoteAdd方法: 首先A与B之间建立一个TCP连接; 然后A把需要调用的方法名(这里是remoteAdd)以及方法参数(10, 20)序列化成字节流发送出去; B接受A发送过来的字节流,然后反序列化得到目标方法名,方法参数,接着执行相应的方法调用(可能是localAdd)并把结果30返回; A接受远程调用结果,输出30。 RPC框架就是把我刚才说的这几点些细节给封装起来,给用户暴露简单友好的API使用。 远程调用的好处 解耦:当server需要对方法内实现修改时,client完全感知不到,不用做任何变更;这种方式在跨部门,跨公司合作的时候经常用到,并且方法的提供者我们通常称为:服务的暴露。 RPC与Socket有什么区别?

PHP程序员的技术成长规划

老子叫甜甜 提交于 2019-12-26 15:39:02
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 按照了解的很多PHP/LNMP程序员的发展轨迹,结合个人经验体会,抽象出很多程序员对未来的迷漫,特别对技术学习的盲目和慌乱,简单梳理了这个每个阶段PHP程序员的技术要求,来帮助很多PHP程序做对照设定学习成长目标。 本文按照目前主流技术做了一个基本的梳理,整个是假设PHP程序员不是基础非常扎实的情况进行的设定,并且所有设定都非常具体明确清晰,可能会让人觉得不适,请理解仅代表一家之言。(未来技术变化不在讨论范围) 第一阶段:基础阶段(基础PHP程序员) 重点:把LNMP搞熟练(核心是安装配置基本操作) 目标:能够完成基本的LNMP系统安装,简单配置维护;能够做基本的简单系统的PHP开发;能够在PHP中型系统中支持某个PHP功能模块的开发。 时间:完成本阶段的时间因人而异,有的成长快半年一年就过了,成长慢的两三年也有。 1. Linux : 基本命令、操作、启动、基本服务配置(包括rpm安装文件,各种服务配置等);会写简单的shell脚本和awk/sed 脚本命令等。 2. Nginx: 做到能够安装配置nginx+php,知道基本的nginx核心配置选项,知道 server/fastcgi_pass/access_log 等基础配置,目标是能够让nginx+php_fpm顺利工作。 3. MySQL:

PHP(超文本预处理器)简介

爱⌒轻易说出口 提交于 2019-12-26 04:17:54
PHP(超文本预处理器) PHP即“ 超文本预处理器 ”,是一种通用开源脚本语言。PHP是在服务器端执行的脚本语言,与C语言类似,是常用的网站编程语言。PHP独特的语法混合了C、Java、Perl以及 PHP 自创的语法。利于学习,使用广泛,主要适用于Web开发领域。 中文名:超文本预处理器 外文名:PHP: Hypertext Preprocessor 编程范型 面向对象、命令式编程 简介 PHP原始为Personal Home Page的缩写,已经正式更名为 "PHP: Hypertext Preprocessor"。自20世纪90年代国内互联网开始发展到现在,互联网信息几乎覆盖了我们日常活动所有知识范畴,并逐渐成为我们生活、学习、工作中必不可少的一部分。据统计,从2003 年开始,我国的网页规模基本保持了翻番的增长速度,并且呈上升趋势。PHP 语言作为当今最热门的网站程序开发语言,它具有成本低、速度快、可移植性好、 内置丰富的函数库等优点,因此被越来越多的企业应用于网站开发中。但随着互联网的不断更新换代,PHP语言也出现了不少问题。 根据动态网站要求,PHP语言作为一种语言程序,其专用性逐渐在应用过程中显现,其技术水平的优劣与否将直接影响网站的运行效率。其特点是具有公开的源代码, 在程序设计上与通用型语言,如C语言相似性较高,因此在操作过程中简单易懂,可操作性强。同时

写个PHP框架吧

断了今生、忘了曾经 提交于 2019-12-26 03:06:50
肯定会问:现在的PHP框架那么多了,为什么还要写一个PHP框架呢? 1、时代:PHP7来了,现在的所有框架都是基于PHP5.x的。到时候PHP7正式推广出来,现有的框架都不能发挥PHP7的最大性能优势,比如强类型和JIT。到时候很多框架就会有一个版本分裂的问题出现了,很多框架需要同时维护两套代码,部分框架可能会力不从心而挂掉了。所以现在要写一个PHP框架就要以PHP7为最低版本要求,虽然现在PHP7还是测试版本,框架开发难度有点大。 2、时长:一个框架开发要多少呢?个人观点:从开发到测试、到实验项目、到内测,应该需要一年到两年的时间吧。再从推出到被大众认知,估计也需要半年到一年的时间。那么整个预算下来,这样一个框架从计划到进入大众视野就需要两年到两年半的时间,而这个时候,预测PHP7已经普遍进入大众平台了。 3、接口:这里说的接口是指对框架使用者的API,从目前国内情况来看,Thinkphp在国内公司中的使用情况占有绝对的数量优势。而且其简单易用的特性也是大家都有目共睹的。用户体验,一直都是中国人最擅长的事情。所以,兼容TP接口吧。 4、架构:MVC架构肯定就得参考国外吧,不过也是建议先规划、再参考,不要完全照搬。一个PHP框架被几乎所有的中高级开发人员在技术上鄙视这种现象不要出现第二次了好伐。 5、附加:现有的PHP框架都是纯PHP的,但是网站的开发却是一个整体

php codeigniter

喜欢而已 提交于 2019-12-25 18:13:21
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 1、CI是什么 CI的全称是CodeIgniter, 一个小巧但功能强大的 PHP 框架,作为一个简单而“优雅”的工具包,它可以为 PHP 程序员建立功能完善的 Web 应用程序。基于MVC设计模式,轻量易学,注重安全,文档健全,有丰富的类库。 2、CI能做什么 CI提供了许多丰富的类库,比如文件上传、图片处理、文件压缩、邮件发送等。这些类库的存在大大减低了开发的难度与周期,也减少了整合外部类库的需求。能快速高效的开发各种web应用: 比如电子商务网站、SNS、论坛、内容管理系统(CMS)、客户关系管理系统(CRM)等等。 3、MVC 入口文件:唯一一个让浏览器直接请求的脚本文件 控制器controller:协调模型和视图 模型model:提供数据,保存数据 视图view:只负责显示、表单... 动作action:是控制器中方法,用于被浏览器请求 4、CI中的mvc 访问url使用的是pathinfo:入口文件.php/控制器/动作 application目录中:controllers(控制器)、models(模型)、views(视图) 5、c(控制器)。 不需要加后缀; 文件名全部小写(例如:user.php); 所有控制器,直接或间接继承自CI_Controller类; 控制器中,对动作(方法)要求

建站框架

杀马特。学长 韩版系。学妹 提交于 2019-12-25 04:46:27
建站程序。 免费的建站程序有很多,如:wordpress(本站使用的程序)、dedecms、discuz等等,这里我就稍微归类下,可以根据自己的需要选取。 1、博客程序。 wordpress,目前全球也是中国使用最多的博客程序。官方网站是 http://cn.wordpress.org,基于PHP语言。 Z-blog,国人制作的的功能强大的博客程序。官方网站是:http://www.rainbowsoft.org/,是基于ASP语言。 当然还有如emlog等等。 2、门户系统。 dedecms,目前国内使用最多的门户系统。网站是:http://www.dedecms.com/,基于PHP语言。 phpcms,另一款很受欢迎的门户系统,网站是:http://www.phpcms.com,也是基于PHP语言。 还有诸如:excms等等我就不一一举例了。 3、论坛系统。这个主要有2家。 discuz,国内使用最多的论坛系统。网站是:http://www.comsenz.com,基于PHP语言。 phpwind,另一款用户较多的论坛系统。网站是:http://www.phpwind.com,也是基于PHP语言。 其他的建站系统例如微博系统记事狗,网店系统ecshop等等我就不多介绍了,大家根据需要自己找。 找好了建站系统,大家可以按照建站系统的网站上安装说明,上传,安装… … 至此

artisan 常用命令

和自甴很熟 提交于 2019-12-25 01:14:28
php artisan 命令 说明 备注 php artisan make:resource ? 创建api返回格式化资源 >=5.4版本可用 php artisan make:rule ? 创建validate规则 >=5.4版本可用 php artisan make:exception ? 创建异常类 >=5.4版本可用 php artisan make:factory ? 创建工厂类 >=5.4版本可用 php artisan package:discover 重置包的缓存信息 >=5.4版本可用 php artisan storage:link ? Create a symbolic link from "public/storage" to "storage/app/public" >=5.4版本可用 php artisan view:clear 清楚所有已编译的视图文件 >=5.4版本可用 命令 说明 备注 php artisan clear-compiled 清除编译后的类文件 php artisan down 使应用程序进入维修模式 php artisan up 退出应用程序的维护模式 php artisan env 显示当前框架环境 php artisan fresh 清除包含框架外的支架 php artisan help 显示命令行的帮助 php artisan

【PHP高级特性】自动加载

怎甘沉沦 提交于 2019-12-24 10:45:25
前言: include 和 require 是PHP中引入文件的两个基本方法。在小规模开发中直接使用 include 和 require 没哟什么不妥,但在大型项目中会造成大量的 include 和 require 堆积。这样的代码既不优雅,执行效率也很低,而且维护起来也相当困难。 为了解决这个问题,部分框架会给出一个引入文件的配置清单,在对象初始化的时候把需要的文件引入。 但这只是让代码变得更简洁了一些,引入的效果仍然是差强人意。PHP5 之后,随着 PHP 面向对象支持的完善,__autoload 函数才真正使得自动加载成为可能。 * include 和 require 功能是一样的,它们的不同在于 include 出错时只会产生警告,而 require 会抛出错误终止脚本。 * include_once 和 include 唯一的区别在于 include_once 会检查文件是否已经引入,如果是则不会重复引入。 1、自动加载 __autoload(废弃) 实现自动加载最简单的方式就是使用 __autoload 魔术方法。 当需要使用的类没有被引入时,这个函数会在PHP报错前被触发,未定义的类名会被当作参数传入 。至于函数具体的逻辑,这需要用户自己去实现。 首先创建一个 autoload.php 来做一个简单的测试: // 类未定义时,系统自动调用function _

PHP运行原理

坚强是说给别人听的谎言 提交于 2019-12-24 09:28:53
PHP简介:PHP是一种适用于web开发的动态脚本语言(网页快捷开发),是用纯C语言实现的。我们可以认为PHP就是一个用C语言实现包含大量组件的软件框架。更狭义一点可以认为是一个功能强大的UI框架。 PHP的设计理念及特点 多进程模型:PHP采用多进程模型,不同请求之间互不干涉,保证了一个请求挂掉不会对其它请求和服务造成影响。当然,PHP目前已支持多线程模型; 弱类型语言:PHP是一门弱类型语言,变量的类型在定义时是不需要给定的,会在运行中根据变量的值发生隐式或是显式的类型转换,这种机制的灵活性在web开发中非常方便、高效; PHP通过引擎(zend)+组件(extension)的模式来降低内部耦合; 中间层(sapi)隔绝web server 与 PHP; 语法简单灵活,没有太多的规范,当容易导致代码风格的混乱。 PHP的四层架构(如下图) Zend引擎:也可以称之为Zend软件虚拟机,用于翻译执行PHP代码。Zend整体用纯C实现,是PHP的内核部分,它将PHP代码翻译(词法、语法解析等一系列编译过程)为可执行opcode代码,并实现相应的处理方法、实现了基本的数据结构(主要的数据结构是hashtable)、内存分配及管理、提供了相应的api方法供外部调用,是一切的核心,所有的外围功能均围绕Zend实现。 Opcode:是一种PHP脚本编译后的中间语言