php框架

浅谈PHP与手机APP开发即API接口开发

*爱你&永不变心* 提交于 2020-02-14 19:40:09
API(Application Programming Interface,应用程序接口)架构,已经成为目前互联网产品开发中常见的软件架构模式,并且诞生很多专门API服务的公司,如:聚合数据( https://www.juhe.cn/ ) 作为最流行的服务端语言PHP(PHP: Hypertext Preprocessor),在开发API方面,是很简单且极具优势的 这篇文章写给不太了解PHP开发API接口的开发者 一、先简单回答两个问题 1、PHP 可以开发客户端吗? 答:正确的回答是,不适合,因为PHP是服务端脚本语言,负责 B/S或C/S 架构的S部分,即:Server端的开发。 (别去纠结 GTK、WinBinder) 2、为什么选择 PHP 作为开发服务端的首选? 答:跨平台(可以运行在UNIX、LINUX、WINDOWS、Mac OS下)、低消耗(PHP消耗相当少的系统资源)、运行效率高(相对而言)、MySQL的完美搭档,本身是免费开源的,...... 二、如何使用 PHP 开发 API 呢? 有兴趣细研究的,可以先看看百科介绍: http://baike.baidu.com/item/api/10154 百科写的比较泛,嫌文字多?好吧,那就不看了,先了解下 API 是什么鬼 1、API 比开发 WEB 更简洁,但可能逻辑更复杂,API 只返回结果,也就是只完成数据输出

去掉php框架CI默认url中的index.php

ぐ巨炮叔叔 提交于 2020-02-13 22:24:57
CI默认的rewrite url中是类似这样的 例如你的CI根目录是在 /CodeIgniter/ 下,你的下面的二级url就类似这样 http://localhost/CodeIgniter/index.php/welcome。 不太好看,怎么把其中的index.php取掉呢? 解决方法如下: 第一步: Apache Url Rewrite 配置(php伪静态) 检查 Apache 中 conf/httpd.conf 中是否存在如下一段代码: #LoadModule rewrite_module modules/mod_rewrite.so 把 LoadModule前边的#去掉。 第二步: 在网站根目录添加.htaccess(和application、system在一个目录下) 内容为: RewriteEngine on RewriteCond $1 !^(index\.php|images|robots\.txt) RewriteRule ^(.*)$ /index.php/$1 [L] 备注: 1、要注意 /index.php/$1 要根据你目录(Web 目录,比如 http://www.domain.com/index.php)的实际情况来定。 比如网站根目录是 /ci/index.php 则要写成 /ci/index.php/$1 2、RewriteCond $1 !^

Yii应用的目录结构和入口脚本

别来无恙 提交于 2020-02-11 01:16:59
以下是一个通过高级模版安装后典型的Yii应用的目录结构: . ├── backend ├── common ├── console ├── environments ├── frontend ├── nbproject ├── tests ├── vendor ├── composer.json ├── composer.lock ├── init ├── init.bat ├── LICENSE.md ├── README.md ├── requirements.php ├── yii └── yii.bat 对于高级应用而言,相当于有 backend frontend console 三个独立的Yii应用。 由于 console 类的应用比较特殊,我们稍后再讲。这里讲典型的Web应用的目录结构。 公共目录 这里的公共目录可不止 common 目录,但这个目录从字面上来看, 是所有公共目录里最“公共”的。 common 目录下的东西, 对于本高级应用的任一独立的应用而言,都是可见、可用的。一般情况下, common 具有以下结构: . ├── config ├── mail └── models 其中: config 就是通用的配置,这些配置将作用于前后台和命令行。 mail 就是应用的前后台和命令行的与邮件相关的布局文件等。 models 就是前后台和命令行都可能用到的数据模型

eclipse安装php插件及配置

狂风中的少年 提交于 2020-02-10 18:37:00
Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发,C++,C,PHP、Python,jsp,UML等多种编程语言开发。这里介绍eclipse加入PHP插件并支持PHP: 1、运行eclipse,在主界面里找到Help下的“Instal New Software”。然后在Work with中选择“All Available Sites”。由于要搜索,故需耐心等待,最后: 2、选择web开发相关的软件,在其中找到PHP Development Tools (PDT)软件。勾选,点击Next。 从Web.XML,JAVA EE and OSGI 选项里找到PHP Development Tools (PDT)。 3、点击finish,完成安装PHP。 4、点击Yes,重启Eclipse。 5、进入到Preferences中可以看到PHP。(如果不成功,可到Eclipse官方下载标准版本,进行PHP插件的安装。) 7、初次使用,菜单->new->Project->PHP->PHP Project,指定一个名字,然后就可以用了,不过要注意跟前面的别名部分对应,否则无法访问: 8、最后就是运行test项目里面的ee.php源程序,在这里

详解thinkphp控制器

安稳与你 提交于 2020-02-09 06:25:27
禁止使用系统保留函数: display get show fetch theme assign error success 如果你使用了,我会杀了你! 设置操作函数的后缀: 'ACTION_SUFFIX' => 'Action' // 操作方法后缀 1 <?php 2 namespace Home\Controller; 3 use Think\Controller; 4 class IndexController extends Controller 5 { 6 public function listAction(){ 7 echo 'list'; 8 } 9 10 public function helloAction(){ 11 echo 'hello'; 12 } 13 14 public function testAction(){ 15 echo 'test'; 16 } 17 } 多层控制器: 在介绍Think PHP 架构的时候,我已经简单的介绍过多层控制器的概念,即可以把控制层细化为控制部分和事件处理部分。这里需要更详细的指明的一点是,控制部分一般需要继承Controler类,但是事件处理部分一般不是访问的入口(输出到模板),所以经常不需要继承Controler类。举例: 事件控制器代码举例: 1 <?php 2 namespace Home\Event; 3

PHP 几种常用框架的区别

陌路散爱 提交于 2020-02-08 04:52:54
  工作中使用的是TP框架,在工作之余接触了一下Yii框架和Laravel框架,为了更好的了解几种框架,此处总结一下几种框架各自的优势及缺点。    一、CI框架   CI框架是一个简单快速的PHP MVC轻量级框架,它执行效率高,快速简洁,代码量少,适合中小型项目开发,也可以做大型项目,但扩展能力不是很好。   优势:框架比较简单,适合入门开发,易学,上手快,静态化很容易,文档比较详细。   缺点:由于框架较小,所以功能不完全,比如使用mongoDB就要自己实现接口,对数据库的操作不够安全(写入操作)。对大型项目支持不好。   开发工作流程:   1、index.php作为前端控制器,初始化运行CodeIgniter所需要的基本资源。   2、Router检查HTTP请求,以确定谁来处理请求。   3、如果缓存(Cache)文件存在,它将绕过通常的系统执行顺序,被直接发送给浏览器。   4、安全(Security)。应用程序控制器(ApplicationController)装载之前,HTTP请求和任何用户提交的数据将被过滤。   5、控制器(Controller)装载模型、核心库、插件、辅助函数,以及任何处理特定请求所需的其它资源。   6、最终视图(View)渲染发送到Web浏览器中的内容。如果开启缓存(Caching),视图首先被缓存,所以将可用于以后的请求。  

转:2014 年 15 款新评定的最佳 PHP 框架

笑着哭i 提交于 2020-02-08 03:41:43
原文来自于:http://blog.jobbole.com/59999/ 原文出处: codegeekz 译文出处: oschina 欢迎分享原创到 伯乐头条 通常,框架都会被认为是帮助开发者快速设计和开发动态网站的软件应用。每个月都有极大数量的新发布的 PHP 框架,使网站开发更简单更高效。 如果你是位 PHP 开发者,正在寻找当前最好的一些 PHP 框架来帮助开发你的项目,那么这里正是你要找的地方。 在这篇文章我们会介绍 15 款最好的 PHP 框架,这些框架都是最新评定的,可以大大的简化你的开发任务。 这些 PHP 框架可以帮助开发者快速设计和开发各种跨浏览器的动态网站和 web 应用,最后,希望你能在这些列表中找到你想要的 PHP 框架,Enjoy !! 1. Yaf : Yet Another Framework Yaf 是第一个 PHP MVC 框架,用 C 语言编写,作为 PHP 的扩展来创建的。它被认为是最快和最低资源消耗的 PHP 框架,经过了良好的测试,并且现在已经很成功的应用在很多 web 项目上。 2. Nette Framework Nette Framework 是个现代化风格的 PHP 框架,对安全进行了革命性的改进,使用面向对象的设计理念,非一般的性能表现和超级简单的学习曲线。除了这些之外,它还有个非常活跃的社区,给予用户足够的灵活性。 3.

Codeigniter 利用加密Key(密钥)的对象注入漏洞

房东的猫 提交于 2020-02-08 02:40:59
http://drops.wooyun.org/papers/1449 原文链接:http://www.mehmetince.net/codeigniter-object-injection-vulnerability-via-encryption-key/ 0x00 背景 大家好,Codeigniter 是我最喜爱的PHP框架之一。和别人一样,我在这个框架中学习了PHP MVC编程。今天,我决定来分析一下Codeigniter的PHP 对象注入漏洞。 我在接下来的叙述中会把重点放在Codeigniter的Session会话机制上。所有我将会分析的method方法都在 CodeIgniter/system/libraries/Session.php 文件里。我在本研究过程中使用的是Codeigniter 2.1 版本。 0x01 Codeigniter Session会话机制 Codeigniter 使用PHP的序列化method方法来存储用户Session会话中的变量。但是Codeigniter Session会话机制并不像我们预期的那样工作。它把session会话的变量存在了客户端的cookie里面,大多数是在(服务器)硬盘上而不是用户COOKIE中。我不知道开发者们为什么这么设计。 下面的叙述摘自codeigniter的文档 The Session class stores

PHP国产敏捷开发框架doitphp

自古美人都是妖i 提交于 2020-02-08 02:22:28
打造简单、易用、易于扩展的PHP轻量级框架 http://www.doitphp.com/documentation/index.html DoitPHP 1.5 手册 目录 1.0 第一章:基础知识 1.1 DoitPHP的简介 1.2 DoitPHP的安装 1.3 DoitPHP Tools使用说明 1.4 DoitPHP的使用规范 1.5 DoitPHP的常量说明 1.6 DoitPHP自定义设置 1.7 DoitPHP的运行原理 1.8 DoitPHP的URL路由详解 2.0 第二章:核心类 2.1 DoitPHP的Controller应用 2.2 DoitPHP的Model应用 2.3 DoitPHP的View应用 2.4 DoitPHP的Widget应用 2.5 DoitPHP的Module应用 2.6 DoitPHP的Log应用 2.7 DoitPHP常用的应用类函数 3.0 第三章:应用实例 3.1 DoitPHP的实例演示一 3.2 DoitPHP的实例演示二 3.3 DoitPHP的实例演示三 4.0 第四章:扩展类 4.1 DoitPHP扩展类pager(分页)使用说明 4.2 DoitPHP扩展类script(常用javascript代码)使用说明 4.3 DoitPHP扩展类html使用说明 4.4 DoitPHP扩展类cookie使用说明 4.5

php框架制做笔记

陌路散爱 提交于 2020-02-08 00:54:24
在学习完基础之后,最好的提高方式是做一个自己的框架,因为框架会用到各个知识点,在制做过程中,复习,巩固,提高。 在框架中,因为是单入口,整个脚本运行时都存在的变量我们应该设为静态变量,这样它在每个地方都可以调用。 1、框架第一步最重要的就是需要框架给项目创建相关的目录,在创建目录时: 脚本文件路径在框架中很重要,在获取当前脚本路径时,$_SERVER['SCRIPT_FILENAME']和__FILE__都可以获取,而区别在于文件被include或require时__FILE__仍然返回原脚本路径,前者则会返回包含它的文件路径。 2、处理框架文件的自动载入 文件在载入时应用一个静态变量来判断它是否已经被载入过,防止重复载入 3、处理框架整体的配置文件和项目配置文件 4、控制器动作模块的调用 对url处理,并实例化控制器类 执行方法 对象在实例化时应用一个静态变量来判断它是否已经被实例化过,防止重复实例化(简单的单例模式) 5、自定义错误处理 和异常处理 在W3Cschool中有明确的解释 6、生成运行时的编译文件runtimefile这个文件, 第一次运行时成为编译文件,并创建目录,并生成欢迎页,第二次再运行时判断,如果有这个文件只需要引入这个文件,就不再去再运行创建目录等操作 7、错误和异常日志处理 8、目录处理 9、路由处理 10、集成各种类:图片处理、文件上传、数据库处理