精华内容
下载资源
问答
  • PHP框架

    千次阅读 2017-06-17 10:08:53
    在开发过程中,我主要使用过了...TP借鉴了Java思想,基于PHP5,充分利用了PHP5的特性,部署简单只需一个入口文件,一切搞定,简单高效,中文文档齐全,入门超级简单。自带模板引擎,具有独特的数据验证和自动填充功能

    在开发过程中,我主要使用过了这么几种框架。thinkPHP框架、CI框架,laravel框架和yii框架。我接触到的第一个框架是TP框架,我简单的说下我对这几个框架的看法:

    ThinkPHP框架

      优点:

    TP借鉴了Java思想,基于PHP5,充分利用了PHP5的特性,部署简单只需一个入口文件,一切搞定,简单高效,中文文档齐全,入门超级简单。自带模板引擎,具有独特的数据验证和自动填充功能,框架更新速度比较迅速。

     缺点:一个Model中可以操作多个表,但TP只能一个。
    TP默认初始化了很多配置,使用起来很方便,但自然也会影响效率。但是把一些加载配置的时间拿去研究算法,这些小影响近乎可以忽略了。

    CodeIgniter框架

    优点:

    配置简单,上手很快,全部的配置使用PHP脚本来配置,没有使用很多太复杂的设计模式,执行性能和代码可读性上都不错,执行效率比较高,具有基本的MVC功能. 快速简洁,代码量少,框架简单,容易上手,自带了很多简单好用的library,框架适合中小型项目,大型项目也不是不可以,只是扩展能力稍差。

    缺点

      1. 把Model层简单的理解为数据库操作

      2. php框架略显简单,只能够满足小型应用,略微不太能够满足中型应用需要

     

    laravel框架(目前最新的是5.3,要求PHP版本较高5.6)
           优点:

       1.Laravel注重代码的模块化和可扩展性。

       2.artisan: 命令行工具,很多手动的工作都自动了

       3.可继承的模版,简化view的开发和管理

       Laravel一直是PHP开发者最受欢迎的PHP框架。这是一个年轻的框架,但是拥有优雅的语法,可简单快速开发你的应用。它拥有大多数常见的功能,如:路由,身份验证,会话,队列和缓存。

      缺点

       laravel的中英文文档比较少 demo也比较少 有时候一个功能要试好久甚至要看源码

     

    YII框架(目前是2.0版本)

    优点

     1、快速,敏捷,不拖沓,给程序员飞翔的能力;

     2、有gii功能!(创建控制器,model层,crud等操作);

     3、具有高度的可重用性和可扩展性,是纯粹的面向对象的。开发速度快,完备的文档,可重用性可高扩展,是最高效的开发框架之一。

    缺点

    1、对Model层的指导和考虑较少

    2、文档实例较少

    3、英文太多

    4、要求PHP技术精通,OOP编程要熟练!

    5、要求会bootstrap
    展开全文
  • 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 的报错级别

    常量 描述
    1 E_ERROR 致命的运行错误。错误无法恢复,暂停执行脚本。
    2 E_WARNING 运行时警告(非致命性错误)。非致命的运行错误,脚本执行不会停止。
    4 E_PARSE 编译时解析错误。解析错误只由分析器产生。
    8 E_NOTICE 运行时提醒(这些经常是你代码中的bug引起的,也可能是有意的行为造成的。
    16 E_CORE_ERROR PHP启动时初始化过程中的致命错误。
    32 E_CORE_WARNING PHP启动时初始化过程中的警告(非致命性错)。
    64 E_COMPILE_ERROR 编译时致命性错。这就像由Zend脚本引擎生成了一个E_ERROR。
    128 E_COMPILE_WARNING 编译时警告(非致命性错)。这就像由Zend脚本引擎生成了一个E_WARNING警告。
    256 E_USER_ERROR 用户自定义的错误消息。这就像由使用PHP函数trigger_error(程序员设置E_ERROR)
    512 E_USER_WARNING 用户自定义的警告消息。这就像由使用PHP函数trigger_error(程序员设定的一个E_WARNING警告)
    1024 E_USER_NOTICE 用户自定义的提醒消息。这就像一个由使用PHP函数trigger_error(程序员一个E_NOTICE集)
    2048 E_STRICT 编码标准化警告。允许PHP建议如何修改代码以确保最佳的互操作性向前兼容性。
    4096 E_RECOVERABLE_ERROR 开捕致命错误。这就像一个E_ERROR,但可以通过用户定义的处理捕获
    8191 E_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)
    ci 29.55 10.152 676.820 33.841
    lumen 16.15 18.577 1238.494 61.925
    原生脚本 54.71 5.484 365.597 18.280
    yii2 15.32 19.581 339.672 16.984
    tp5 26.81 11.191 746.045 37.302
    biny 65.22 4.600 306.638 15.332

    纯html界面压测结果如下:

    框架 总响应时间(s) 吞吐量 单词请求平均等待时间(ms) 单次请求平均处理时间(ms)
    ci 4.032 74.41 268.783 13.439
    lumen 13.087 22.92 872.479 43.624
    原生脚本 0.516 581.82 34.375 1.719
    tp5 4.516 66.43 301.067 15.053
    yii2 14.213 21.11 947.526 47.376
    biny 3.017 99.43 201.153 10.058

    结果分析

    1. 原生脚本的抗压能力最强,但是开发效率低下,后期维护成本高,而且,这里只是简单的测试了一下数据库运算,具体项目的差距可能并没有这么大
    2. ci和biny的并发效果是最好的,但是ci版本已经很老了,更新可能是个问题,而biny是腾讯最近开源的框架,在某些地方还存在缺陷,而且,文档也不够友好,目前只有框架中内嵌了官方文档,没有手册,且阅读性很差
    3. tp5的效率虽然比不上上述三种框架,但是性能也还可以,对php7支持很好,问题是框架目录混乱,不利于大型项目开发
    4. lumen和yii2的并发支持都不是很好,但是这两个框架本身功能非常强大,其中yii2对restful接口支持更友好,如果不差钱,还是建议用yii2进行restful接口规范进行开发
    展开全文
  • 一款精简好用的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/

    展开全文
  • Yii2.0 PHP框架

    万人学习 2015-11-14 21:38:46
    具体实例讲解Yii框架的核心内容。
  • PHP框架选择

    千次阅读 2010-09-17 11:22:00
    PHP框架选择
  • 通过使用来自于知名公司的真实案例研究,《开发高质量PHP框架与应用的实际案例解析》为Web软件体系结构的不同层次介绍了规划、执行以及测试自动化方面的内容,并解释了这些公司如何测量和测试软件质量。《开发高质量...
  • 集成EasySwoole+LayuiAdmin PHP 框架

    千次阅读 2020-12-18 17:21:53
    最高效简单的PHP 框架 主要实现: 添加easyswole 必要的类库跟方法, 对接前端跟后端接口, 实现后台角色跟权限管理 运行环境(参照EasySwoole 文档) 保证 PHP 版本大于等于 7.1 保证 Swoole 拓展版本大于等于 4.4.15 ...
  • PHP框架的发展背景 毫无疑问,Web框架技术在近几年已经得到了突飞猛进的发展和普及,在过去几年里,框架技术的普遍经历了比较大的完善过程,很大一部分可以归因于RubyonRails,以及在其他编程语言中流露出的MVC框架...
  • 一个极简的php框架

    千次阅读 2019-06-11 21:48:54
    使用框架进行更加高效的开发...近期工作使用到php,实现了一个极简的php框架,在这里总结如下。 Common:常用函数的封装 Tool.php Ctrl:控制器 BaseCtrl.php 基础控制器,包含基本方法 Lib:核心方法 Lo...
  • 编写自己的php框架

    千次阅读 2019-05-23 14:43:06
    想给自己写个博客系统,本来想用个轻量级的php框架,百度到biny…… 结果路由都走不通……相信我调了好几个小时…… 它没有.htaccess,像thinkphp那样加index.php报错index类找不到,不加直接报找不到url,不是...
  • PHP框架认识初步

    千次阅读 2016-04-16 19:43:43
    PHP框架比较 CodeIgniter Codeigniter 相当轻量级,下载下来就能用, CI 的最大特点就是可扩展性很强 你可以通过不修改源码的方式 优雅的扩展几乎所有的东西。 thinkphp 官方文档比较全 国产的 yii ...
  • 【Yii框架 一 】PHP框架,Yii概述

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

    2015-12-18 19:34:01
    原创简单php框架源码
  • PHP面向对象实战开发mvc框架视频教程 PHP框架开发教程 下载地址:百度网盘
  • 漫谈php框架之中间件

    千次阅读 2016-10-21 14:36:31
    市面上常见的php框架有很多,最近因为有技术需求,所以对常见的php框架的中间件进行了一些了解。各个框架尽管在目标上对php框架的定义大同小异,但是在实现方式上却各有不同,且看下文: 定义 首先什么是php的...
  • 尽管学习如何使用单个php框架生成动态网页相对简单,但确定这3种主流web应用程序框架中哪一个最能满足您的要求却并不容易。《php框架高级编程——应用symfony、cakephp和zend》一书对3种最受欢迎的开源框架进行了...
  • php 框架选择

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

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

    千次阅读 2012-10-30 17:10:59
    Fuel PHP框架介绍 Fuel PHP是一个基于PHP5.3的轻量级WEB开发框架,官网是http://fuelphp.com/,截至到今天,我看到的版本的1.0.1。 花了一晚上浏览了一下这个框架的介绍,基本上和其他主流PHP框架大同小异、包括...
  • 超轻量级PHP框架BroPHP

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

    2013-09-12 13:10:59
    如果已经学会了一个php框架,再去学习其他php框架,那么会很容易上手。  但是如果还没有php框架基础,想去学习php框架,往往是一头雾水,不知道从哪里下手,从我学习php框架的经验,给大家分享  一下,如何快速...
  • PHP框架 Yii

    2010-06-20 14:51:00
    Yii 是一个基于组件、用于开发大型 Web 应用的高性能 PHP 框架。它将 Web 编程中的可重用性发挥到极致,能够显著加速开发进程。Yii(读作“易”)代表简单(easy)、高效(efficient)、可扩展 (extensible)。 ...
  • 制作一个简易的PHP框架

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

    2013-12-31 18:25:06
    本文从一个全新的角度来诠释PHP框架。 有人认为,PHP是每次请求都要初始化资源,这个开销非常大。由此,PHP不适合使用开发框架。对于PHP,确实没有类的持久化,使得每次请求都要初始化资源,但是,这并不是开销的...
  • 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 而依旧...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 56,110
精华内容 22,444
热门标签
关键字:

php框架