精华内容
下载资源
问答
  • PHP框架解析之从入口说起index.php

    千次阅读 2016-11-29 14:00:23
    php 框架
        <?php
        header("Content-type:application/json;charset=utf-8");
        error_reporting(E_ALL ^ E_NOTICE ^ E_DEPRECATED ^ E_STRICT ^ E_WARNING);
        ini_set("display_errors", "On");
    
        define("ROOT_DIR", dirname(__FILE__));
        define("DS", DIRECTORY_SEPARATOR);
        define("CORE_DIR", ROOT_DIR . DS . 'framework');
    
        require_once ROOT_DIR . DS . 'stdafx.php';
        require_once CORE_DIR . DS . 'Core.php';
    
        try {
            $core = Core::getInstance()->boot(ROOT_DIR . '/config/core.php');//->run();
            $core->registerPlugin(new LoginPlugin());
            $core->run();
        } catch (Exception $ex) {
            echo json_encode(array('NOT FOUND'));
            print $ex;
            die;
        }

    1、Http header设置Content-type
    2、ini_set(“display_errors”, “On”)开启报错机制,error_reporting() 设置 PHP 的报错级别

    常量描述
    1E_ERROR致命的运行错误。错误无法恢复,暂停执行脚本。
    2E_WARNING运行时警告(非致命性错误)。非致命的运行错误,脚本执行不会停止。
    4E_PARSE编译时解析错误。解析错误只由分析器产生。
    8E_NOTICE运行时提醒(这些经常是你代码中的bug引起的,也可能是有意的行为造成的。
    16E_CORE_ERRORPHP启动时初始化过程中的致命错误。
    32E_CORE_WARNINGPHP启动时初始化过程中的警告(非致命性错)。
    64E_COMPILE_ERROR编译时致命性错。这就像由Zend脚本引擎生成了一个E_ERROR。
    128E_COMPILE_WARNING编译时警告(非致命性错)。这就像由Zend脚本引擎生成了一个E_WARNING警告。
    256E_USER_ERROR用户自定义的错误消息。这就像由使用PHP函数trigger_error(程序员设置E_ERROR)
    512E_USER_WARNING用户自定义的警告消息。这就像由使用PHP函数trigger_error(程序员设定的一个E_WARNING警告)
    1024E_USER_NOTICE用户自定义的提醒消息。这就像一个由使用PHP函数trigger_error(程序员一个E_NOTICE集)
    2048E_STRICT编码标准化警告。允许PHP建议如何修改代码以确保最佳的互操作性向前兼容性。
    4096E_RECOVERABLE_ERROR开捕致命错误。这就像一个E_ERROR,但可以通过用户定义的处理捕获
    8191E_ALL所有的错误和警告(不包括 E_STRICT) (E_STRICT will be part of E_ALL as of PHP 6.0)


    3、获取当前文件绝对路径 dirname(FILE)
    4、引入文件stdafx.php和Core.php
    stdafx.php主要作用是定义常量和引入相关php文件:

    <?php
    date_default_timezone_set("Asia/Chongqing");
    define('CONFIG_DIR', ROOT_DIR . DS . 'config');
    require_once CONFIG_DIR . '/db.php';
    require_once CONFIG_DIR . '/mc.php';
    ...
    require_once CONFIG_DIR . '/define.php';

    Core.php是整个框架的核心:

    • include与require : 最大区别是当文件不是必需的,且应用程序在文件未找到时应该继续运行时可以使用include
    • _autoload与 spl_autoload_register:在php5之后可以在index.php中通过编写__autoload函数来让php自动加载类,也可以使用spl_autoload_register来注册我们自己的autoload函数来处理加载尚未定义的类
    • isset与empty:
      • isset:检测变量是否设置 ,若变量不存在则返回 FALSE 若变量存在且其值为NULL,也返回 FALSE
        若变量存在且值不为NULL,则返回 TURE ,同时检查多个变量时,每个单项都符合上一条要求时才返回 TRUE,否则结果为 FALSE.
      • empty:检查一个变量是否为空,若变量存在且其值为”“、0、”0”、NULL、、FALSE、array()、var $var; 以及没有任何属性的对象,则返回 TURE

    5、Core::getInstance()单例模式实例化Core对象,初始化autoload加载机制(自定义loadClass),boot加载控制器、模型、视图,插件、库,路由规则等配置
    6、注册LoginPlugin登录插件通过依赖注入的方式进行访问的身份验证检查
    7、run根据路由规则分发机制以及path_info信息,解析出控制器类,实例化并调用IndexAction对请求进行处理

    展开全文
  • php框架压力测试

    千次阅读 2019-06-24 15:27:00
    php框架压力测试背景前期准备进行测试测试结果结果分析 背景 因为公司要开发一个高并发的接口,为了节省服务器资源,所以对一些常见的框架进行调研,判断哪一款性能符合要求 前期准备 安装压力测试工具(我用的是ab...

    背景

    因为公司要开发一个高并发的接口,为了节省服务器资源,所以对一些常见的框架进行调研,判断哪一款性能符合要求

    前期准备

    1. 安装压力测试工具(我用的是ab)
    2. 安装框架
      我这里安装了yii2、ci、lumen5.0、tp5、biny框架

    进行测试

    将每个框架都链接本地数据库,打开缓存,进行两轮测试,分别为纯html页面和数据库运算页面
    压测量为并发数20,总量300

    测试结果

    数据库运维压测结果如下:

    框架吞吐量总响应时间(s)单词请求平均等待时间(ms)单次请求平均处理时间(ms)
    ci29.5510.152676.82033.841
    lumen16.1518.5771238.49461.925
    原生脚本54.715.484365.59718.280
    yii215.3219.581339.67216.984
    tp526.8111.191746.04537.302
    biny65.224.600306.63815.332

    纯html界面压测结果如下:

    框架总响应时间(s)吞吐量单词请求平均等待时间(ms)单次请求平均处理时间(ms)
    ci4.03274.41268.78313.439
    lumen13.08722.92872.47943.624
    原生脚本0.516581.8234.3751.719
    tp54.51666.43301.06715.053
    yii214.21321.11947.52647.376
    biny3.01799.43201.15310.058

    结果分析

    1. 原生脚本的抗压能力最强,但是开发效率低下,后期维护成本高,而且,这里只是简单的测试了一下数据库运算,具体项目的差距可能并没有这么大
    2. ci和biny的并发效果是最好的,但是ci版本已经很老了,更新可能是个问题,而biny是腾讯最近开源的框架,在某些地方还存在缺陷,而且,文档也不够友好,目前只有框架中内嵌了官方文档,没有手册,且阅读性很差
    3. tp5的效率虽然比不上上述三种框架,但是性能也还可以,对php7支持很好,问题是框架目录混乱,不利于大型项目开发
    4. lumen和yii2的并发支持都不是很好,但是这两个框架本身功能非常强大,其中yii2对restful接口支持更友好,如果不差钱,还是建议用yii2进行restful接口规范进行开发
    展开全文
  • 通过使用来自于知名公司的真实案例研究,《开发高质量PHP框架与应用的实际案例解析》为Web软件体系结构的不同层次介绍了规划、执行以及测试自动化方面的内容,并解释了这些公司如何测量和测试软件质量。《开发高质量...
  • PHP框架选择

    千次阅读 2010-09-17 11:22:00
    PHP框架选择

    转自:http://i.laoer.com/tag/kohana

     

    离最初用PHP编程序已经有8、9年时间了,后来这6、7年的时间一直研究Java,对PHP有些生疏了,但PHP的生命力却依旧顽强, 对于面向Web开发时Java的繁琐,我最近又将注意力集中到了PHP上,但已经习惯了Struts这样的MVC框架,我也要寻找一个适合的PHP MVC框架,选择的标准有几个:1、性能;2、易用性;3、文档;4、长期支持度

    我最开始看了Zend Framework ,Zend的东西,毕竟带有官方特性,他的framework应该是代表着主流,看了之后,Zend Framework可以说是纷繁复杂,但是面面俱到,Web应用方面的问题基本都可以解决,我唯一担心的就是性能,虽没有做过测试,但也确实担心。

    后来有一天在JavaEye上逛,看到一篇帖子《PHP框架的繁荣是正确的发展方向吗?》 ,讨论了PHP的运行机制、与ROR的比较、性能等等,非常热闹,同时也列举出了一些PHP的框架,特别是一些性能比较,让我很吃惊,CakePHP、Symfony可以不用考虑了。

    接下来我看了看CodeIgniter ,感觉不错,简单,相比Zend Framework要简单得多,大多数问题也都能解决,性能在一些资料描述中也表现的尚可(比Zend Framework要快几倍),而且其文档比较细,学习起来不难,后来又发现了Kohana ,Kohana是从CodeIgniter 衍生出来,由于CodeIgniter 是兼容PHP4和5的,而Kohana只支持PHP5,是完全的OO方式,其文档并还没有仔细研究,看到了一个比较的文章《Notes on Choosing a PHP Framework: A Quick Comparison of CodeIgniter and Kohana》 ,看上去Kohana有些特性还是很优秀的,但不知道Kohana社区对于这个开源产品的支持有多好。

    后来又看到文章《Performance of Yii》 , 发现Yii这个框架的性能更强劲啊,比CodeIgniter还要好几倍,不可思议,看了看Yii的文档,它也是完全OO的,要PHP5以上,核心应该也 比较简单,能保持比较好的性能,但我觉得它的Guide文档比较粗,学习起来似乎要费点功夫,其性能应该是我最感兴趣的地方。

    再说说国内的PHP框架,在JavaEye的文章里,QeePHP 的作者也在推荐自己的框架,简单测试下比Yii还要快,好NB啊,但从社区反应出来其文档不够详细,其代码我也没有细看,似乎和Yii有很多相近的地方,另一个国内的PHP框架ThinkPHP 文档比较详尽,但没有测试报告,不知道性能如何,而且在PHPChina的社区里和QeePHP有激烈的争论 ,挺有意思的。

    看了一大圈,我也没有决定采用何种PHP的框架,他们各有长处,也各有缺陷,但综合考虑,我还是应该会在CodeIgniter、Kohana和Yii中选择最终的方案。

    展开全文
  • Yii2.0 PHP框架

    万人学习 2015-11-14 21:38:46
    具体实例讲解Yii框架的核心内容。
  • 尽管学习如何使用单个php框架生成动态网页相对简单,但确定这3种主流web应用程序框架中哪一个最能满足您的要求却并不容易。《php框架高级编程——应用symfony、cakephp和zend》一书对3种最受欢迎的开源框架进行了...
  • 一款精简好用的PHP框架:Z-PHP框架

    千次阅读 2018-02-24 14:36:54
    Z-PHP 框架是主流的MVC结构,很精简,没有那些大型框架的臃肿,框架核心只有十几个文件,100多KB的大小。速度很快,响应时间只有几毫秒。配置简单,可配置项目并不多,但也足够用,配置简单易懂,默认的源文件目录...

    Z-PHP 框架是主流的MVC结构,很精简,没有那些大型框架的臃肿,框架核心只有十几个文件,100多KB的大小。

    速度很快,响应时间只有几毫秒。

    配置简单,可配置项目并不多,但也足够用,配置简单易懂,默认的源文件目录隔离也增加了安全性:用户只能访问入口目录的入口文件和静态资源文件。

    结构上也简单易懂,一个入口文件对应一个应用目录和一个静态资源目录。

    常用的基本功能都有,路由,模板,模型,自动加载类文件也很贴心。

    还有几个常用的扩展类:文件上传,图片验证码,自动验证,图片处理。

    URL处理支持传统的?参数=值 的方式,PathInfo模式,路由模式,当然自己配置伪静态模式也很方便。

    数据库使用PDO驱动,操作起来安全省心。

    代码写法上类似 thinkPHP,上手也很容易。

    个人觉得非常适合中小项目的开发和接口程序的开发以及初学者的学习使用。

    有兴趣的猿们可以关注一下官网:http://www.z-php.com/

    展开全文
  • 几个比较不错的国产php框架

    千次阅读 2019-01-11 20:13:58
    几个比较不错的国产php框架国产PHP框架think PHPspeedphpG-frameworkZ-php84PHPphppoemHYphp 国产PHP框架 使用PHP框架的过程中,发现有很多比较流行的框架都是外国的,使用起来很不爽,主要是文档有些不好看。我搜集...
  • php 所有主流框架性能对比(yii、yaf、ci等php框架
  • 淘宝PHP SDK 2.0 剔除 lotusphp框架

    千次阅读 2014-05-02 17:34:52
    lotusphp是一个开源的php框架 详细介绍可以看这里http://blog.csdn.net/hurryjiang/article/details/7570708
  • 集成EasySwoole+LayuiAdmin PHP 框架

    千次阅读 2020-12-18 17:21:53
    最高效简单的PHP 框架 主要实现: 添加easyswole 必要的类库跟方法, 对接前端跟后端接口, 实现后台角色跟权限管理 运行环境(参照EasySwoole 文档) 保证 PHP 版本大于等于 7.1 保证 Swoole 拓展版本大于等于 4.4.15 ...
  • 尽管学习如何使用单个PHP框架生成动态网页相对简单,但确定这3种主流Web应用程序框架中哪一个最能满足您的要求却并不容易。《PHP框架高级编程——应用Symfony、 CakePHP和Zend》一书对3种最受欢迎的开源框架进行了...
  • 十大最流行PHP框架排名

    千次阅读 2015-05-14 23:30:04
    以下为十个目前最流行的基于MVC设计模式的PHP框架。 1. Yii Yii是一个基于组件的高性能的PHP的框架,用于开发大规模Web应用。Yii采用严格的OOP编写,并有着完善的库引用以及全面的教程。从 MVC,DAO/...
  • php 框架选择

    千次阅读 2017-03-31 15:07:16
    很多初级php甚至中级php都会陷入框架选择困难症,要么必须使用什么框架,要么一定不使用什么框架,而对框架的选择带来的效益和负担的成本并不是很清晰 框架大概分为以下这些 1. 简单轻量:tp,ci (类似tp这种所谓很菜的...
  • 制作一个简易的PHP框架

    千次阅读 2016-12-09 16:51:39
    简易PHP框架(crom)使用详解crom是结合当前各种框架和各类教程,自己整合的开发框架,框架能进行简易的WEB开发。gitlab源码链接https://github.com/gentcdq/crom框架的基本目录结构为 * app ctrl model views * ...
  • 2014年免费开源PHP框架排行榜

    千次阅读 2014-11-16 21:14:02
    去年年底的时候,PHP Weekly曾做过一项谁是最好的PHP框架的调查(Laravel独占PHP框架市场四分之一的江山),本文将以这份调查为依据,向广大PHP开发者推荐PHP框架排行前十的框架,如果你喜欢请随手点个赞,如果你...
  • 【Yii框架 一 】PHP框架,Yii概述

    千次阅读 2016-05-09 19:59:06
     ThinkPHP(TP)是一个快速、兼容而且简单的轻量级国产PHP框架,正式版需要PHP5.0以上版本支持。它是从Struts结构移植过来并做了改进和完善,同时借鉴了国外很多优秀的框架和模式,融合了Struts的思想、TabLib标签...
  • 超轻量级PHP框架BroPHP

    千次阅读 2012-11-23 08:42:40
    BroPHP是一个免费开源的轻量级PHP框架(学习型),允许你把基于BroPHP框架开发的应用去开源或发布、销售商业产品。BroPHP框架完全采用面向对象的设计思想,并且是基于MVC的三层设计模式,具有部署和应用及为简单、...
  • 3个最好的PHP框架的Web开发

    千次阅读 2017-01-15 16:39:27
    1. Laravel:一个用于Web工匠的PHP框架 Laravel是免费的开源PHP Web应用程序框架,专为开发MVC Web应用程序而设计。它需要PHP开发到一个全新的水平。 Laravel通过为登录身份验证和基于URL的路由的冗余任务提供内置...
  • PHP框架大比武

    千次阅读 2006-11-01 23:45:00
    很大程度上由于Ajax和RoR的出现,原来的老大Zend地位堪忧,PHP框架一时又呈现群雄逐鹿的景象。那么如何选择PHP框架呢?PHPit上的一篇文章,将使你一目了然。 Framework ...
  • PHP框架 nginx 伪静态规则

    千次阅读 2018-06-28 14:20:46
    最近在调研各种的PHP框架(CI, Cake, ThinkPHP, Laravel, Yii)感觉Laravel看上去很美,深入了解了下。开发机使用的是Apache,Stage上跑的nginx,部署后碰到所有的重定向都报404错误的情况。搞了半天,最后把下面这...
  • 常驻内存型 PHP 框架 EasySwoole

    万次阅读 2018-03-27 14:21:01
    EasySwoole 详细介绍EasySwoole 是一款基于 Swoole Server 开发的常驻内存型 PHP 框架,专为 API 而生,摆脱传统 PHP 运行模式在进程唤起和文件加载上带来的性能损失。EasySwoole 高度封装了Swoole Server 而依旧...
  • 请问那个php框架用户量最多,资源最多????,入门最快????????
  • PHP框架学习日志一

    千次阅读 2008-07-01 12:56:00
    最近遇到很多项目都是用PHP框架做的,于是上网查了下PHP相关资料,介绍各种各样框架的文章不少,但是对于怎么样系统的学习PHP框架确没有比较好的文章,在采纳了众多人的意见以后选择了FleaPHP框架来研究,到官方网站上下...
  • 文章目录一、考点1、PHP框架的差异和优缺点1)Yaf 框架优点:执行效率高、轻量级框架、可扩展性强。缺点:高版本兼容性差、底层代码可读性差、需要安装扩展、功能单一,开发需要编写大量的插件(如:做一个文件上传...
  • 教新手如何去学习php框架

    千次阅读 2014-06-18 10:29:00
    如果已经学会了一个php框架,再去学习其他php框架,那么会很容易上手。 但是如果还没有php框架基础,想去学习php框架,往往是一头雾水,不知道从哪里下手,从我学习php框架的经验,给大家分享 一下,如何快速的去...
  • PHP框架CodeIgniter学习】Helloworld

    千次阅读 2013-10-06 09:45:04
    在想做API的时候 ,在搜索发现大家都钟爱...自己之前使用过的PHP框架有 ThinkPHP,PHPWind等,感觉有点复杂(可能是自己不大熟悉PHP的原因)。而且看到很多招聘信息上面,都最好要会CI框架,所以就拿这个来练一下手,用
  • Yii 是什么Yii 是一个基于组件、用于开发大型 Web 应用的高性能 PHP 框架。它将 Web 编程中的可重用性发挥到极致,能够显著加速开发进程。Yii(读作“易”)代表简单(easy)、高效(efficient)、可扩展(extensible)。...
  • PHP框架大比武2.0

    千次阅读 2007-05-15 00:12:00
    【图灵图书推荐】PHP新圣经《PHP与MYSQL 5程序设计(第2版)》【图灵图书推荐】《PHP与MySQL基础教程》,目前Amazon第一PHP畅销书,原版已经销售10万...去年11月,我曾经转帖过一篇关于PHP框架比武的文章。最近,PHP M
  • [原创]国外主流PHP框架比较

    万次阅读 热门讨论 2008-05-05 17:31:00
    国外主流PHP框架比较作者:heiyeluren博客:http://blog.csdn.net/heiyeshuwu时间:2008-5-5最近简单的使用了目前在国内用的比较多的几个主流国外PHP框架(不包括国内框架),大致对这些框架有个直观上的感受,简单...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 271,660
精华内容 108,664
关键字:

php框架