首页 > 后端开发 > 正文

自己写框架php 如何写一个PHP框架呢?思路是什么,需要注意些什么?

2023-09-13 00:13:51 | 我爱编程网

大家平时对后端开发都十分关注,今天为大家整理了自己写框架php 如何写一个PHP框架呢?思路是什么,需要注意些什么?,下面就随我爱编程网小编一起来看一下吧。

自己写框架php 如何写一个PHP框架呢?思路是什么,需要注意些什么?

php知识框架总结

php知识框架总结

篇一:php基础知识点总结

PHP语言基础简单整理

1.开始结束标记的格式只有在没有判断语句时才能使用。

对表单传递的变量进行编码和解码:PHP中实现对查询字符串进行URL编码可以通过函数urlencode()实现,该函数的使用格式如下:string urlencode(string str);对URL编码后的查询字符串进行解码,可以通过urldecode()函数实现,该函数的使用格式如下:string urldecode(string str);

15.PHP连接数据库:

步骤: 一、建立连接------mssql_connect(server,uid,pwd);

二、指定database-------mssql_select_db(databasename);

三、执行sql------mssql_query($sql,$link);

四、处理记录集-------资源类型数据,格式:bof---数据---eof

五、以特定格式读取数据-----mssql_fetch_array()....

六、释放相关资源、关闭连接------mssql_free_result($result);mssql_close();

16.数组:php的数组由键值和value值组成

定义:$array = array("键值"=>"value","键值"=>"value","键值"=>"value");如果不给键值赋值,默认从0开始的int值

相关函数:(1)in_array("值",数组名); 返回bool型-----查看数组中是否存在某value值

(2)array_key_exists("key值",数组名); 返回bool型-----查看数组中是否存在某键值

(3)array_keys(数组名);---将数组键值返回出来形成一个新数组,此键值作为新数组的value值

(4)array_values(数组名);---将数组value值返回出来形成一个新数组,此值作为新数组的value值

(5)key(数组名);----返回当前指针指向的元素key值

(6)current(数组名);----返回当前指针指向的元素value值

(7)next(数组名);----挪动当前数组指针到下一步

(8)reset(数组名);----恢复数组指针,指向第0个元素

(9)end(数组名);----将指针挪向最后一个元素

(10)prev(数组名);----将指针向前挪动一位

(11)foreach(数组名 as $key=>$value)

{

$key是键值,$value是value值,实现数组遍历

}

(12)each(数组名);----将当前数组元素依次取出(自动挪动指针)并放到一个新的数组中

(13)array_shift(数组名);----返回数组中第一个元素值

(14)array_pop(数组名);----返回数组最后一个元素值

(15)array_push(数组名,value);----向数组中追加元素

(16)array_unshift(数组名,value);----在数组最前面添加元素

(17)array_pad(数组名,数组长度,value);----向数组中追加多个元素,对数组副本操作,不改变原数组,返回一个新数组

(18)count();----返回个数

(19)array_unique(数组名);----去掉数组中重复部分,操作数组副本,不改变原数组,返回新数组

(20)sort(数组名);----从小到大升序排列数组value值,一般针对int型value值,返回bool型,成功返回true

(21)rsort(数组名);----从大到小,逆序排列数组value值

(22)array_combine(数组1,数组2);----将数组1的value值作为key,数组2的value值作为value值,形成一个新数组

(23)array_merge(数组1,数组2,数组3...);----合并多个数组,将多个数组value值依次合并,合为一个数组

(24)array_slice(数组名,int,int);----从目标数组截取元素,形成一个新数组。开始位置为第二个参数,结束位置为第三个参数。若第三个参数不写,则默认是截取到最后。

(25)array_splice();----用法同array_slice();但是其截取部分从原数组中删除

(26)explode("字符依据",目标字符串);----将字符串按照一定的依据拆分成数组

(27)implode("字符依据",目标数组);----将数组元素按照依据组合成一个字符串

(28)range(mixed low,mixed high[number step]);----生成数组,例:range(1,100,8);---即从1到100,每8位取一个数,组成一个数组

(29)shuffle(数组名);----用于将数组进行随机排序 我爱编程网

(30)array_sum(数组名);----对数值型数组元素值进行求和

(31)array_chunk(数组名,int);----分割目标数组,返回一个新数组,其中数组的每个元素都是一个一维数组,int参数为分割成的一维数组的长度

17.Cookie和会话控制:

Cookie是在HTTP协议下,服务器或脚本可以维护客户工作站上信息的一种方式。Cookie是由Web服务器保存在客户机上的小文本文件,它可以包含有关用户的信息。无论何时用户链接到服务器,Web站点都可以访问Cookie信息。

存在server端的是session,存在client端的是cookie,它们用来存储全局变量。 设定Cookie值:setcookie("名","值");

通过Cookie数组取值:$_cookie["名"];

设置生成期:setcookie("名","值",time()+1800);生成期为当前时间加1800秒之后。

删除cookie: setcookie("名","",time()-3600);中间值设置为空,并将当前时间减去3600秒。 Cookie数组:setcookie("名[key]","值"); 使用foreach读取。

在PHP中可以通过$_COOKIE预定义变量访问Cookie的值。如果设置了php.ini中的register_long_arrays,那么就能够应用$_COOKIE和$HTTP_COOKIE_VARS;如果在php.ini中还设置了register_globals,那么就可以在PHP中作为全局变量使用各个Cookie值。但是,更改php.ini中的两个文件设置,容易对PHP的安全构成威胁,不推荐使用该方法,建议使用更新的$_COOKIE。

会话ID的传送

会话ID的传送有两种方式,一种是Cookie方式,另一种是URL方式。

Cookie传送方式:

这是最简单的会话方式,但是有些客户可能限制使用Cookie,如果客户限制使用Cookie的条件下,仍要继续工作,那就要通过其他方式来实现了。

URL传送方式:

在该方式中,URL本身用来传送会话,会话标志被简单地附加到URL的尾部,或者作为窗体中的一个变量来传递。例:

自己写框架php 如何写一个PHP框架呢?思路是什么,需要注意些什么?

如何写一个PHP框架呢?思路是什么,需要注意些什么?

第一步实现自动加载

第二步实现依赖注入容器

第三步实现路由

第四步实现控制器

第五步实现模型

第六步实现最基本的一些辅助操作类

1.Db类,数据库操作少不了

2.数据操作类,接收过滤getpostputdelete等数据

3.配置文件操作类,任何一个框架都少不了,是吧。

4.模板引擎,如果是前后端分离的可以不实现。

5.缓存操作,fileredismemcache等常用缓存

以上实现了一个最简单基本的框架就好了。

当然一个框架肯定不只这些。

自己写框架php 如何写一个PHP框架呢?思路是什么,需要注意些什么?

PHP开发用哪种框架



PHP开发常用框架
一、CI框架
CI框架是一个简单快速的PHP MVC轻量级框架,它执行效率高,快速简洁,代码量少,适合中小型项目开发,也可以做大型项目,但扩
展能力不是很好。
优势:框架比较简单,适合入门开发,易学,上手快,静态化很容易,文档比较详细。
缺点:由于框架较小,所以功能不完全,比如使用mongoDB就要自己实现接口,对数据库的操作不够安全(写入操作)。对大型项目支持
不好。
开发工作流程:
1、index.php作为前端控制器,初始化运行CodeIgniter所需要的基本资源。
2、Router检查HTTP请求,以确定谁来处理请求。
3、如果缓存(Cache)文件存在,它将绕过通常的系统执行顺序,被直接发送给浏览器。
4、安全(Security)。应用程序控制器(ApplicationController)装载之前,HTTP请求和任何用户提交的数据将被过滤。
5、控制器(Controller)装载模型、核心库、插件、辅助函数,以及任何处理特定请求所需的其它资源。
6、最终视图(View)渲染发送到Web浏览器中的内容。如果开启缓存(Caching),视图首先被缓存,所以将可用于以后的请求。
CI的url模式:
Ci支持的url模式默认为pathinfo形式,也就是使用/隔开。其中//localhost/citest/index.php/ 是固定的,表示的就是入口文件
例如://localhost/citest/index.php/hello/index
二、ThinkPHP框架
TP框架是一共快速兼容简单的轻量级国产PHP开发框架,使用面向对象的结构和MVC模式进行开发。它可以支持Windows、Linux等服
务器,并且支持MySql、Sqlite等多种数据库和PDO扩展。
其自身包含底层架构、兼容处理、基类库、数据库访问层、模版引擎、缓存机制、插件机制、角色认证、表单处理等常用的组件,并且对
于跨版本、跨平台和跨数据库移植都比较方便。适合中小型项目开发。
优势:简单易用(Model,Controller,View负责各自的工作),它拥有支持XML标签库技术的编译型模版引擎,支持两种模版标签,动态编
译,缓存技术。还支持自定义标签库,具有独特的数据验证和自动填充,MD5数据加密等功能。
缺点:模版比较固定,导致思想容易固化。
三、Laravel框架
Laravel是一套简洁,优雅的PHP WEB开发框架。集合了PHP比较新的特性,以及各种的设计模式,是一个适合学习的框架,但要求PHP
基础扎实熟练。适合大中型项目的开发。
优势:
1、支持Composer
2、框架结构比较清晰,注重代码的模块化(抽象了中间件,任务,服务等)和可扩展性,路由系统快速高效
3、支持处理跨站请求伪造,在进行form表单post提交时,必须传入{{ csrf_field() }}
4、Laravel 的社区很强大,具有丰富的扩展包及工具
5、具有缓存、身份验证、任务自动化、hash加密、事务等功能
6、独特的 .env环境文件,方便了系统的配置和不同平台的开发
缺点:基于组件式的框架,相对有点臃肿
Laravel路由方法:laravel的路由功能很强大,包括
1、基本路由Route::get('/',function(){ return'HelloWorld';});
2、带参数路由Route::get('user/{id}', function($id){ return 'User '.$id;});
3、路由过滤参数Route::get('user/{id}/{name}',function($id,$name){ //}) -> where(array('id'=> '[0-9]+', 'name' =>'[a-z]+'));
4、子域名路由等
5、控制器路由,例如下面的一些样式
Route::resource('article','ArticleController'); //restful方式(具体包括get/post等)
Route::controller('article','ArticleController'); //restful方式(具体包括get/post等)
Route::get('user/login','UserController@login');//非restful方式 get
Route::post('user/i','UserController@login');//非restful方式post四、Yii 框架
Yii Framework是一个基于组件、用于大规模web应用开发的高性能PHP开源框架,是目前最具效率的PHP框架之一。适合大型重量型
web应用开发。
优势:
1、纯OOP开发,模型使用方便
2、支持命令行工具开发,可以快速的创建一个web应用程序的代码
3、具有高度的可重用性和可扩展性
4、开发速度快,性能优异且功能丰富
5、支持composer包管理工具
缺点:model 层考虑较少,文档中中文文档较少。要求php技术精通水平,OOP编程也要很熟练
推荐教程:ThinkPHP教程

以上就是今天分享给大家的内容了,想要了解更多后端开发资讯,敬请关注我爱编程网!
与“自己写框架php 如何写一个PHP框架呢?思路是什么,需要注意些什么?”相关推荐
写自己的php框架 如何写一个PHP框架呢?思路是什么,需要注意些什么?
写自己的php框架 如何写一个PHP框架呢?思路是什么,需要注意些什么?

用php开发网站的步骤是什么?1、首先你得搭建PHP运行环境。建议使用PHP开发速成搭建工具包xampp。集成php+phpmyadm+mysql2、第二步,写需求,如图书管理系统。是否需要会员系统(会员是否分等级如普通、VIP分等级的话,那么有这些等级之间有什么差别)、是否需要文章发布、是否需要图书信息发布、是否需要在线购买书籍、是否要对书籍进行留言评论、是否要有在线试读。3

2023-08-29 15:27:11
php自己写框架好难啊 如何写一个PHP框架呢?思路是什么,需要注意些什么
php自己写框架好难啊 如何写一个PHP框架呢?思路是什么,需要注意些什么

哪种php框架适合初学者学习?我是初学者,看了好多的框架,貌似都很难,有没有一个容易进入门槛的?初学者建议还是要把php基础知识打牢,并不是说框架就使开发容易了,这个只是相对而言,据我的个人理解,框架的主要功用在于:当你掌握了php语言后,替你去掉对于php应用来说一些重复性的工作。从学习曲线上,如果不用框架,php掌握后你完全可以自己编写一个跟框架功能差不多的应用。而如果你用框架,每

2023-10-06 02:47:21
自己做一个php框架 如何写一个PHP框架呢?思路是什么,需要注意些什么
自己做一个php框架 如何写一个PHP框架呢?思路是什么,需要注意些什么

如何做PHP的带框架的页面具体代码如下:<?php$ch=curl_init();$timeout=5;curl_setopt($ch,CURLOPT_URL,'');curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout);$file

2023-10-02 23:12:48
如何自己设计一个PHP框架 如何写一个PHP框架呢?思路是什么,需要注意些什么
如何自己设计一个PHP框架 如何写一个PHP框架呢?思路是什么,需要注意些什么

如何写一个PHP框架呢?思路是什么,需要注意些什么框架也是程序,程序就是解决问题的。那么首先你要明确的就是你希望解的问题,之前是否有其他框架可以解决这个问题。举个很简单的例子,google的服务器分布在全球各地,百度的服务器分布在全国各地,而一般的小公司可能连一台独立的服务器都没有,这三种网站程序肯定不一样。如果按照这个思路走,框架写不写无所谓,写好一个程序比写一个框架来的更

2023-10-06 12:10:49
自己简单设计php框架 如何写一个PHP框架呢?思路是什么,需要注意些什么?
自己简单设计php框架 如何写一个PHP框架呢?思路是什么,需要注意些什么?

php框架需要掌握什么php框架需要掌握什么?下面介绍几个主流的PHP框架。(1)ZendFrameworkZendFramework是由Zend公司开发的PHP框架,可用于开发Web程序和服务。ZendFramework采用MVC架构模式来分离应用程序中不同的部分,从而方便程序的开发和维护。(2)CakePHPCakePHP是一个运用了诸如ActiveRecord、

2023-09-26 13:34:40
自写PHP框架的步骤 如何写一个PHP框架呢?思路是什么,需要注意些什么
自写PHP框架的步骤 如何写一个PHP框架呢?思路是什么,需要注意些什么

如何写一个PHP框架呢?思路是什么,需要注意些什么框架也是程序,程序就是解决问题的。那么首先你要明确的就是你希望解的问题,之前是否有其他框架可以解决这个问题。举个很简单的例子,google的服务器分布在全球各地,百度的服务器分布在全国各地,而一般的小公司可能连一台独立的服务器都没有,这三种网站程序肯定不一样。如果按照这个思路走,框架写不写无所谓,写好一个程序比写一个框架来的更

2023-09-27 18:43:23
php框架注册怎么写 如何写一个PHP框架呢?思路是什么,需要注意些什么?
php框架注册怎么写 如何写一个PHP框架呢?思路是什么,需要注意些什么?

如何写一个PHP框架呢?思路是什么,需要注意些什么?第一步实现自动加载第二步实现依赖注入容器第三步实现路由第四步实现控制器第五步实现模型第六步实现最基本的一些辅助操作类1.Db类,数据库操作少不了2.数据操作类,接收过滤getpostputdelete等数据3.配置文件操作类,任何一个框架都少不了,是吧。4.模板引擎,如果是前后端分离的

2023-09-21 17:49:55
php框架路由怎么写 如何写一个PHP框架呢?思路是什么,需要注意些什么?
php框架路由怎么写 如何写一个PHP框架呢?思路是什么,需要注意些什么?

如何写一个PHP框架呢?思路是什么,需要注意些什么?第一步实现自动加载第二步实现依赖注入容器第三步实现路由第四步实现控制器第五步实现模型第六步实现最基本的一些辅助操作类1.Db类,数据库操作少不了2.数据操作类,接收过滤getpostputdelete等数据3.配置文件操作类,任何一个框架都少不了,是吧。4.模板引擎,如果是前后端分离的

2023-09-15 15:48:13