찾다
백엔드 개발PHP 튜토리얼laravel - 求推荐PHP框架,本人有一定PHP基础。

本人学过PHP,现在希望学习一个PHP的框架。
通过网上查阅资料,我了解到以下几个框架经常被提到:

  • ThinkPHP:国产的PHP框架,不过感觉很多人对其评价不高。
  • CodeIgniter:有人说它功能很弱,设计思想比较老。
  • Laravel:据说是国外使用最多的PHP框架,我到Github上看了看确实挺热。但国内好像就很冷。
  • 其他:Yii?CakePHP?Zend Framework?……

求指点。

——————

8月10日:根据大家的回答,决定学习Laravel。谢谢大家的解答。

回复内容:

本人学过PHP,现在希望学习一个PHP的框架。
通过网上查阅资料,我了解到以下几个框架经常被提到:

  • ThinkPHP:国产的PHP框架,不过感觉很多人对其评价不高。
  • CodeIgniter:有人说它功能很弱,设计思想比较老。
  • Laravel:据说是国外使用最多的PHP框架,我到Github上看了看确实挺热。但国内好像就很冷。
  • 其他:Yii?CakePHP?Zend Framework?……

求指点。

——————

8月10日:根据大家的回答,决定学习Laravel。谢谢大家的解答。

选择 PHP 框架,必须得看看 FIG 了:http://www.php-fig.org/

FIG 是 Framework Interoperability Group(框架可互用性小组)的缩写,由几位开源框架的开发者成立于 2009 年,从那开始也选取了很多其他成员进来,虽然不是 “官方” 组织,但也代表了社区中不小的一块。

组织的目的在于:以最低程度的限制,来统一各个项目的编码规范,避免各家自行发展的风格阻碍了程序设计师开发的困扰。有四套规范:

  • PSR-0 (Autoloading Standard) 自动加载标准
  • PSR-1 (Basic Coding Standard) 基础编码标准
  • PSR-2 (Coding Style Guide) 编码风格向导
  • PSR-3 (Logger Interface) 日志接口

本来我一直使用的是 ci 和 zend,不过正如 @shamiao 大大所说推荐的,我也正在变成一名 laravel 的粉丝。

前几天使用 esoTalk 搭了一个轻论坛 http://bbs.justjavac.com

论坛新地址:http://discuss.flarum.org.cn/

不过作者发 twitter 表示将开发 Flarum 替代 esoTalk。理由是 esoTalk 底层代码不够强大,那么新的 Flarum 系统呢,底层使用了 laravel 框架。


几周前,还有人对 toby 大大卖萌 http://discuss.flarum.org.cn/13-esotalk-toby

强烈推荐:Phalcon, CI

Laravel重的一塌糊涂、向后兼容性差不说,代码风格方面还用tab来缩进!在当今这个4空格(PSR,PEAR,ZEND)甚至是2空格(Langspec)缩进的世界中,可谓逆水行舟,作者本人的信誉也有问题,Phil多次劝过他遵循PSR,作者答应了,FIG上也有了,却一直不改...更遑论其鼓吹的“优雅”和“性能超CI”了。

Laravel的可借鉴之处例如:IoC,DI,eloquent,Artisan这些Phalcon全都有,性能还更好(能比这个框架快的PHP框架不多了,唯一能抗衡的是YAF吧,但YAF那社区,那文档,呵呵了)。

Codeigniter的3.0就快要stable了,对2.0中一些领人诟病的地方也做出了相当大的改进(例如原生支持composer,高度兼容HHVM等),而且CI的快速部署、易于拓展、接近原生语法(学了就知道多么人性,多么简洁)的特性也使得它老当益壮,一些比较不错的第三方库更新频繁,其衍生框架Bonfire也是生机勃勃。

CI的主要缺点是:

  1. 缺少IoC/DI/ORM
  2. 缺少命名空间(其实我在用laravel的1年时间里也没见多少项目有贯彻通透的)
  3. 使用了单例模式(该模式已经considered an anti-pattern!)

至于Yii/ZendFramework/CakePHP/Slim/Swole/Symfony/Swoole,这几个框架,由于我本人没有接触过,所以没有资格评论,但就印象而言,这几个框架实在是让我打不起兴趣学习。

看下 Github 最受欢迎的 PHP 开源项目, 跟着大家走, 准没错 https://github.com/search?l=PHP&q=+stars%3A%3E0&ref=searchresults&type=Repositories

laravel - 求推荐PHP框架,本人有一定PHP基础。

个人推荐:PhalconLaravel4


http://segmentfault.com/q/1010000000435088

如果想短周期上手thinkphp ci

其他 laravel yii phalcon

生命苦短,我用Slim

理由?因为Slim不用学,开箱即用

个人强烈推荐学习 Symfony

优点:
1. 文档非常齐全
2. 社区非常活跃
3. 企业级的框架,适合项目从小到大不断迭代的各个阶段
4. composer、自动化、命令行
5. 命名空间,完全面向对象的设计
6. 大量第三方包,加速开发进程
7. 设计非常棒的生产环境和开发环境,开发环境下完善的异常提示
8. 熟练后开发速度非常快,这个快不在于很快出一个demo,而在于能很快出一个完整的产品

缺点:
1. 具有较高的学习曲线,要花功夫去学会,新概念非常多,但学会后便是优势
2. 性能相对较差,但是后期有大量方式去优化性能
3. 还是学起来的时候会比较累,但是文档特别全,只要你肯花功夫就没有问题

第一个层次是PHP技术的深度学习:如PHP字符串、数组、文件和PHP的高级特性以及PHP运行原理等; 第二个层次是Web技术的深度拓展:如深入Http协议、Linux技术、Web服务器技术、前端JS技术、MySQL和NoSQL技术等;第三个层次是编程思想和能力的拓展:如数据结构和算法设计、设计模式、好代码的原则和技巧、大规模网站开发技术等。
按照这个提纲学下去吧:http://www.sijiaomao.com/course.htm

Yii

很简单,去招聘网站,把这些框架一输入,看哪个热门学哪个,这也算是一种趋势。
ps:我公司用的是yii

可以先熟悉一些微框架如slim,silex,之后可以重点看下symfony的组件

https://github.com/lloydzhou/router
可以看看,算不上框架,只是个路由控制器,很精炼

强烈推荐学习laravel,你会发现在学习过程中,你会学习到框架之外的更多知识
1.如何翻墙,因为composer的安装和使用在墙内的速度是令人发指的
2.如何翻译,因为laravel的文档大部分是英文的,比如laravel5.1是6月发布的,直到今天10月19日,完全汉化的文档还是没有。
3.如何撕逼,你要对面用TP的人的不理解,用Yaf的人的鄙视,用Yii的人的试探的目光
4.如何运维,项目上线后,面对性能低下的问题你需要redis memcache opcache php7 hhvm 等等等优化性能的方案

PHP的框架都大同小异,个人觉得关键还是看项目的需求来选择框架。或者说你是要找一个框架来进行什么业务的开发,还是说是为了看框架的源码

laravel
必须推荐

推荐laravel

我用thinkPHP

不多说。YII 原因看这里:
http://segmentfault.com/q/1010000000500665#a-1020000000632699

没人推荐YAF吗?新浪微博和百度贴吧都是用这个C语言写的PHP框架

http://www.laruence.com/manual/

我推荐CI 或者 TP3.1.x。
用过TP 3.2.x TP3.1.x CI cakephp laravel。
一开始觉得CI太简陋,其实他扩展性最强大。TP 3.2问题真的很多。
TP 3.1.x也是一个不错的选择

只感觉Yii不错

Laravel 你不会失望的

thinkphp 实用 挺好
用 Laravel 高大上

选择yii你不会后悔,选择了tp你会后悔。

thinkPHP坑还是不少的,有设计失误,没人管,目前作者失踪,issue没人管.目前教程就thinkphp.cn这一个地方有,一本完整的书都没有,大牛可以用,初学者千万别用

这个要看你学框架来做什么样的站点了

个人喜欢边做项目边学东西,通过实践学来的东西比较实在,你可以先想一下自己打算做一个什么项目,项目周期多长。然后根据项目大小、周期和自己的能力来选择框架进行学习实践。

Good Luck!

PS. 这个是我用CI框架写的中国版Reddit -- 《91头条》

我只用过Yii 所以只能推荐它了
Yii学习曲线比较陡 自学入门时比较难 掌握了就好了 开发很快的
(我本来想赞同那些回答Yii的,但是声望不够

推荐YAF框架

用laravel写了些东西,感觉还是不错的。

我的建议是:
要是个人业余时间玩玩,三个框架,做个简单的用户登录,或留言板,那个顺手用那个。别人在多的建议也代替不了你个人的主观感受。自己尝试为主。
要是上班以此为饭碗,我建议三个都学一学,从一个长远的打算来看,每个公司的策略与技术历史不一样,所以都了解一下,而且框架都有很大的相似性,就我个人了解,ci与tp其实是很像,只是一个抓住了国人目前的技术心理,更方便,更傻瓜一点而已。或者目前在上班公司用那个就学那个,业余自己折腾在多的东西,不如在公司跟同事们一起奋斗需求变化万千的实际项目。

你们说的框架性能是怎么测出来的,就写一个hello,world就算测试过了吗?
不过不推荐Laravel这框架,推荐Phalcon这个框架,谁用谁知道

微框架推荐Slim和Silex,后者更重量级些不过和Symfony的组件可以很好混用,前者基本可以视作Sinatra PHP版,也很赞,有个叫TextPress的开源的轻量级flat-file博客引擎就是用的它,可以作为不错的学习参考。
重量级的主要就是Zend Framework和Symfony吧,太复杂没玩过不置评。
近几年流行起来的值得一提的还有Laravel和Phalcon,前者是截至目前GitHub上星数最多的PHP框架,很好上手,后者是性能第二高的PHP框架,几乎全部的功能都用C实现,第一高的是Yaf不过Yaf的代码风格是PHP 5.3以前的,不够现代化,功能也比Phalcon少……
此外还有国产的ThinkPHP,对各类国内PaaS运行环境如ACE,BAE,SAE进行了优化,而且中文文档完善,也是不错的选择。

Symfony是一定要学的,代表了PHP框架里最先进的设计思想,开发者靠谱,社区活跃,基于组件,低耦合,高重用;

Laravel和Drupal都是基于Symfony的;

新手不推荐C扩展的框架;

其实新手thinkphp上手快,文档多,只适合新手。。

但是貌似tp有一点点的问题

ci, 必须的。

Symfony2 ,一定要学,它有着先进的设计思想,代表 PHP 最先进的生产力!

symfony2正在学习,一起共勉吧

我的一个开源框架,如果可以有兴趣可以一起研究发展

我之前一直在纠结Laravel和Phalcon,不过写完几个demo后我就果断选择了phalcon,laravel真的很臃肿,一个PHP框架甚至比Symfony还重是无法接受的。相反,phalcon跑起来飞快,设计优雅,写起来十分舒服。另外,phalcon 2.0之后是一个跨越,以后很多非controller层的代码可以封装到扩展中,这个性能想想就激动。不过选框架这种事情跟找女朋友差不多,不是非得追求最漂亮的,适合自己就好。

最近看到 slim这样的小框架 感觉不错

symfony

看来Kohana 是没人用了_(:з」∠)_

PHP所有的框架都类似,学会一种后再学习其他的框架都比较简单了,

新手就用Yii吧

鸟哥的Yaf框架不错的

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
PHP 세션이 실패 할 수있는 몇 가지 일반적인 문제는 무엇입니까?PHP 세션이 실패 할 수있는 몇 가지 일반적인 문제는 무엇입니까?Apr 25, 2025 am 12:16 AM

phpsession 실패 이유에는 구성 오류, 쿠키 문제 및 세션 만료가 포함됩니다. 1. 구성 오류 : 올바른 세션을 확인하고 설정합니다. 2. 쿠키 문제 : 쿠키가 올바르게 설정되어 있는지 확인하십시오. 3. 세션 만료 : 세션 시간을 연장하기 위해 세션을 조정합니다 .GC_MAXLIFETIME 값을 조정하십시오.

PHP의 세션 관련 문제를 어떻게 디버그합니까?PHP의 세션 관련 문제를 어떻게 디버그합니까?Apr 25, 2025 am 12:12 AM

PHP에서 세션 문제를 디버그하는 방법 : 1. 세션이 올바르게 시작되었는지 확인하십시오. 2. 세션 ID의 전달을 확인하십시오. 3. 세션 데이터의 저장 및 읽기를 확인하십시오. 4. 서버 구성을 확인하십시오. 세션 ID 및 데이터를 출력, 세션 파일 컨텐츠보기 등을 통해 세션 관련 문제를 효과적으로 진단하고 해결할 수 있습니다.

session_start ()가 여러 번 호출되면 어떻게됩니까?session_start ()가 여러 번 호출되면 어떻게됩니까?Apr 25, 2025 am 12:06 AM

Session_Start ()로 여러 통화를하면 경고 메시지와 가능한 데이터 덮어 쓰기가 발생합니다. 1) PHP는 세션이 시작되었다는 경고를 발행합니다. 2) 세션 데이터의 예상치 못한 덮어 쓰기를 유발할 수 있습니다. 3) Session_status ()를 사용하여 반복 통화를 피하기 위해 세션 상태를 확인하십시오.

PHP에서 세션 수명을 어떻게 구성합니까?PHP에서 세션 수명을 어떻게 구성합니까?Apr 25, 2025 am 12:05 AM

SESSION.GC_MAXLIFETIME 및 SESSION.COOKIE_LIFETIME을 설정하여 PHP에서 세션 수명을 구성 할 수 있습니다. 1) SESSION.GC_MAXLIFETIME 서버 측 세션 데이터의 생존 시간을 제어합니다. 2) 세션 .Cookie_Lifetime 클라이언트 쿠키의 수명주기를 제어합니다. 0으로 설정하면 브라우저가 닫히면 쿠키가 만료됩니다.

세션을 저장하기 위해 데이터베이스를 사용하면 어떤 장점이 있습니까?세션을 저장하기 위해 데이터베이스를 사용하면 어떤 장점이 있습니까?Apr 24, 2025 am 12:16 AM

데이터베이스 스토리지 세션 사용의 주요 장점에는 지속성, 확장 성 및 보안이 포함됩니다. 1. 지속성 : 서버가 다시 시작 되더라도 세션 데이터는 변경되지 않아도됩니다. 2. 확장 성 : 분산 시스템에 적용하여 세션 데이터가 여러 서버간에 동기화되도록합니다. 3. 보안 : 데이터베이스는 민감한 정보를 보호하기 위해 암호화 된 스토리지를 제공합니다.

PHP에서 사용자 정의 세션 처리를 어떻게 구현합니까?PHP에서 사용자 정의 세션 처리를 어떻게 구현합니까?Apr 24, 2025 am 12:16 AM

SessionHandlerInterface 인터페이스를 구현하여 PHP에서 사용자 정의 세션 처리 구현을 수행 할 수 있습니다. 특정 단계에는 다음이 포함됩니다. 1) CustomsessionHandler와 같은 SessionHandlerInterface를 구현하는 클래스 만들기; 2) 인터페이스의 방법 (예 : Open, Close, Read, Write, Despare, GC)의 수명주기 및 세션 데이터의 저장 방법을 정의하기 위해 방법을 다시 작성합니다. 3) PHP 스크립트에 사용자 정의 세션 프로세서를 등록하고 세션을 시작하십시오. 이를 통해 MySQL 및 Redis와 같은 미디어에 데이터를 저장하여 성능, 보안 및 확장 성을 향상시킬 수 있습니다.

세션 ID 란 무엇입니까?세션 ID 란 무엇입니까?Apr 24, 2025 am 12:13 AM

SessionId는 웹 애플리케이션에 사용되는 메커니즘으로 사용자 세션 상태를 추적합니다. 1. 사용자와 서버 간의 여러 상호 작용 중에 사용자의 신원 정보를 유지하는 데 사용되는 무작위로 생성 된 문자열입니다. 2. 서버는 쿠키 또는 URL 매개 변수를 통해 클라이언트로 생성하여 보낸다. 3. 생성은 일반적으로 임의의 알고리즘을 사용하여 독창성과 예측 불가능 성을 보장합니다. 4. 실제 개발에서 Redis와 같은 메모리 내 데이터베이스를 사용하여 세션 데이터를 저장하여 성능 및 보안을 향상시킬 수 있습니다.

무국적 환경 (예 : API)에서 세션을 어떻게 처리합니까?무국적 환경 (예 : API)에서 세션을 어떻게 처리합니까?Apr 24, 2025 am 12:12 AM

JWT 또는 쿠키를 사용하여 API와 같은 무국적 환경에서 세션을 관리 할 수 ​​있습니다. 1. JWT는 무국적자 및 확장 성에 적합하지만 빅 데이터와 관련하여 크기가 크다. 2. 쿠키는보다 전통적이고 구현하기 쉽지만 보안을 보장하기 위해주의해서 구성해야합니다.

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

DVWA

DVWA

DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

VSCode Windows 64비트 다운로드

VSCode Windows 64비트 다운로드

Microsoft에서 출시한 강력한 무료 IDE 편집기