之前一直使用Codeignitor框架进行PHP的开发,Codeignitor是一个非常优秀的框架,上手简单,文档极其友好,流行程度甚高(这带来了很好的社区支持+云环境支持),很轻量,可扩展性佳,性能也不错。但它有两个问题:

1、快糙猛(当然这也是PHP的本来特点),不够优雅(有悖最佳实践),也有点老了(CI 2也一样),跟不上新的行业标准(PSR-0/Composer)

2、前景堪忧,CI作者已经放弃更新了。

所以我重新搜索了当今流行的PHP框架。

  Sitepoint网站做了一个小的调查,看看PHP开发者们最喜欢使用哪个PHP框架。调查结果显示,最流行的PHP框架前三甲为:Laravel、Phalcon、Symfony2。

Laravel4 是PHP 5.3之后开发的新框架,充分使用了PHP 5.3之后的新特性,不像很多老牌框架有一大堆历史包袱讲究的是最佳实践, 是一个积极向上的框架, 向Rails看齐, 借鉴了很多在成熟框架已经体现出来很成功的元素:

1、RESTful Routing

2、设计精妙的Blade模板引擎,轻快,不是灵活

3、合理的ORM model层,Eloquent ORM,借鉴Rails的成功

4、Migration数据库版本系统和seeding

5、使用包管理器composer,模块化开发,这正是其优雅设计哲学的体现

6、强调测试驱动,整个核心经受完整的测试,高质量的代码

7、命令行驱动,可以高度自动化

8、合理使用PHP的新版本特性

9、积极向上的社区

10、对PHP的标准化支持PHP-FIG(http://www.php-fig.org/)

更多关于分析PHP框架的知识:

http://www.sitepoint.com/best-php-frameworks-2014/

https://tutsplus.com/tutorial/why-laravel-is-taking-the-php-community-by-storm/

http://www.zhihu.com/question/21617669

http://www.zhihu.com/question/19558755

安装

http://www.golaravel.com/docs/4.1/installation/

网上有很多教程,我这里主要是记录在实际操作过程中踩过的坑和一些心得。

三种方式安装:

1、通过 Laravel 安装器安装

2、通过 Composer create-project 命令安装Laravel

3、通过下载Laravel包安装

1、2安装方式就不详说了,说说第三种方式。为什么会用到第三种方式了。因为最开始我们在内网的环境下测试安装,但是内网连不上网。

1、nginx配置:大概就这样

server {

listen       8080;

server_name  devshare.php.weixin.qq.com;

root /home/sharexie/QQMail/laravel/public;

index index.php;

location / {

try_files $uri $uri/ /index.php$is_args$query_string;

}

location ~ \.php$ {

include /home/qspace/nginx/conf/fastcgi_params;

fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;

fastcgi_param  SCRIPT_FILENAME    /home/sharexie/QQMail/laravel/public/$fastcgi_script_name;

fastcgi_pass 127.0.0.1:9005;

proxy_set_header Host $http_host;

}

}

2、依赖缺乏:把官网上提供的那个完整包下下来,实际还是差了很多依赖,然后就各种外网下载,然后拷到内网,编译安装,但是发现依赖又依赖更多的扩展,导致就是个多重循环的坑。然后我就在这里打住了。Ericyang给了我很好的建议,现在现网环境下用composer的方式安装好,把安装过后的安装包拷贝到内网,就完美解决问题了。

3、加密模块安装:只需要 libmcrypt 依赖就可以了。网上还说需要安装 mcrypt ,而mcrypt需要 libmcrypt 和 mhash。实践出真知呀~~

4、安装完成了~~

LARAVEL学习--安装的更多相关文章

  1. Laravel学习笔记(三)--在CentOS上配置Laravel

    在Laravel框架上开发了几天,不得不说,确实比较优雅,处理问题逻辑比较清楚.     今天打算在CentOS 7上配置一个Laravel,之前都是在本机上开发,打算实际配置一下.     1)系统 ...

  2. Laravel学习笔记(一)

         根据国外的调查,Laravel是最流行的框架,最近公司需要PHP的开发人员,但是一直招不到人,只好亲自上阵研究一下.由于以前对PHP只是大致了解,这次学习开始的时候也挺挠头的,到今天稍微入了 ...

  3. Laravel学习笔记之Session源码解析(上)

    说明:本文主要通过学习Laravel的session源码学习Laravel是如何设计session的,将自己的学习心得分享出来,希望对别人有所帮助.Laravel在web middleware中定义了 ...

  4. 《PHP框架Laravel学习》系列分享专栏

    <PHP框架Laravel学习>已整理成PDF文档,点击可直接下载至本地查阅https://www.webfalse.com/read/201735.html 文章 Laravel教程:l ...

  5. laravel学习之旅

    前言:之前写了二篇YII2.0的基本mvc操作,所以,打算laravel也来这一下 *安装现在一般都用composer安装,这里就不讲述了* 一.熟悉laravel (1)如果看到下面这个页面,就说明 ...

  6. Laravel Homestead安装教程

    1/先在https://www.vagrantup.com  下载vagrantup ,对应平台下载,并安装,安装后可以在命令行使用vagrant https://www.vagrantup.com/ ...

  7. Laravel教程:laravel 4安装及入门

    一.安装Composer首先你需要安装Composer,Composer是PHP依赖管理工具,Laravel框架就是使用 Composer 执行安装和依赖管理. 注:(1)若安装Composer出错, ...

  8. laravel多种安装方法

    首先请确保环境为 PHP >= 5.5.9 OpenSSL PHP 扩展 PDO PHP 扩展 Mbstring PHP 扩展 Tokenizer PHP 扩展 方法一: 直接下载安装好的lar ...

  9. 简简单单搞掂恼人的Laravel 5安装

    想折腾下Laravel 5了.Laravel是这世界上最好且没有之一的语言──PHP──的众多框架中的一个,是我比较感兴趣的PHP Web Framework. 但是安装Laravel可不是件容易的事 ...

随机推荐

  1. vue模块拖拽效果

    正巧在之前面试中遇到问实现拖拽效果 当时面试的时候简单回答了实现的方式与逻辑. 现在闲来无事,把这个东西实现了一下. 原理很简单,写的很方便. 数据驱动,建立一个数组,数组初始长度为1 拖动触发时,添 ...

  2. 三种timer控件的简单实例

    .system.windows.forms .system.threading.timer .system.timers.timer using System; using System.Collec ...

  3. LINUX下PHP安装VLD扩展并测试OK

    首先下载安装vld压缩包,下载前一定注意区分压缩包版本和php版本是否匹配,否则很可能后面make install 失败. //下载安装包—暂时以14版本为例 wget http://pecl.php ...

  4. 将form转为ajax提交的js代码

    参考网络代码基础上进行修改,调试通过. 在html中插入下面的代码: 函数ajaxSubmit是submit的ajax形式. 注意:这里面使用到了jquery库 //<!--将form中的值转换 ...

  5. LeetCode162.寻找峰值

    162.寻找峰值 描述 峰值元素是指其值大于左右相邻值的元素. 给定一个输入数组 nums,其中 nums[i] ≠ nums[i+1],找到峰值元素并返回其索引. 数组可能包含多个峰值,在这种情况下 ...

  6. 报表中经常遇到的一个头疼的问题是需要自动选择过去一个月的数据作为当前报表输出。网上查询了一些.NET 的C#例子,发现都实现的比较复杂

    报表中经常遇到的一个头疼的问题是需要自动选择过去一个月的数据作为当前报表输出.网上查询了一些.NET 的C#例子,发现都实现的比较复杂,其实这个问题可以很简单的通过.NET的DateTime函数来实现 ...

  7. 使用手淘flexible.js适配移动端布局

    下载flexible: https://github.com/amfe/lib-flexible //未压缩版 (function flexible (window, document) { var ...

  8. [转] 智能合约开发环境搭建及Hello World合约

    [From] http://www.cnblogs.com/tinyxiong/p/7898599.html 如果你对于以太坊智能合约开发还没有概念(本文会假设你已经知道这些概念),建议先阅读入门篇. ...

  9. 理解Call、Apply、bind

    Apply.call 共同点: 为了改变函数执行时的上下文(简单说就是为了改变当前函数体内的This的指向) 不同点: 传入的参数不一样,func.apply(this,[arg1,arg2]).fu ...

  10. 基于WebImage的图片上传工具类

    支持缩略图和水印. using System; using System.IO; using System.Linq; using System.Web; using System.Web.Helpe ...