大家平时对后端开发都十分关注,今天为大家整理了ci框架index.php PHP开发用哪种框架,下面就随我爱编程网小编一起来看一下吧。
ci如何去掉index.php(nginx)
nginx下ci去掉“index.php”的方法:首先在根目录下新增“.htaccess”文件;然后修改“nginx.conf”配置文件内容为“ rewrite ^/(.*)$ /index.php/$1;”;最后保存修改即可。
推荐:《PHP视频教程》
CI框架去除index.php(Nginx)
在根目录新增.htaccess文件
<IfModule authz_core_module>
Require all denied
</IfModule>
<IfModule !authz_core_module>
Deny from all
</IfModule>修改nginx.conf(如果有vhost.conf文件,则修改此文件)配置文件
location / {
index index.html index.htm index.php;
#autoindex on;
if (!-e $request_filename) {
rewrite ^/(.*)$ /index.php/$1;
}
}
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教程
ci框架如何隐藏index.php
ci框架隐藏index.php的方法:首先修改apache配置文件;然后创建htaccess文件;接着修改Ci配置文件;最后重启apache即可。
推荐:《PHP视频教程》
1. 修改 apache 配置文件 开启重写模块 conf/httpd.conf去掉前面的#LoadModule rewrite_module modules/mod_rewrite.so对于Ubuntu,需要在apache安装目录下的 mods-enabled 文件夹中创建软连接。
进入 /mods-enabled 下,
-s ../mods-available/rewrite.load rewrite.load # 要确保 ../mods-available/rewrite.load 文件存在,不存在需要安装rewrite模块注:apache安装目录下:mods-available---未启用的模块,mods-enabled----已启用的模块
AllowOverride None 修改为 AllowOverride All可以在apache的配置文件 conf/httpd.conf 末尾添加如下代码,或是在 sites-enabled 文件夹下新建个 .conf 文件,文件名随意,也可像 mods-enabled/ 下那样创建链接。
Alias /athena "/home/liuqian/workspace/athena/" # 依据实际情况改为自己的路径<Directory "/home/liuqian/workspace/athena/"> # 依据实际情况改为自己的路径
Options Indexes MultiViews FollowSymLinks AllowOverride All # 主要是这个
Order allow,deny
Allow from all</Directory>注:apache安装目录下:sites-available---未加载的配置文件,sites-enabled----已加载的配置文件
2. 添加 .htaccess 文件进入到项目文件夹下,在 index.php 所在的目录下创建 .htaccess 文件
文件中写如下:
/%{REQUEST_FILENAME} !-%{REQUEST_FILENAME} !- !^(index.php| index.php3. 修改Ci配置文件 application/config/config.php$config['index_page'] = "index.php";改为:
$config['index_page'] = "";4. 重启apache 就ok了。sudo apachectl restart # 这里是ubuntu的重启命令
我爱编程网以上就是今天分享给大家的内容了,想要了解更多后端开发资讯,敬请关注我爱编程网!