Table des matières
回复内容:
Maison développement back-end tutoriel php Yii 、laravel、phalcon 哪个比较好?

Yii 、laravel、phalcon 哪个比较好?

Jun 17, 2016 am 08:32 AM
ecshop

公司要重新开发商城网站,之前是用ecshop的,现在要重新开发,要用框架来写,以上三个个人参考了网上的评论,是最为较好的,但不知如何选择。还有一方面,希望能对商城网站有较大的控制自由度,主要是对商城的后期功能扩展而不用局限于框架,但又容易跟框架结合。本人初级phper,求各位大神给点意见

回复内容:

个人比较推荐yii,原因如下:
  • 性能上:phalcon > yii ≈ laravel,因为phalcon使用C语言开发,以php扩展的方式加载,这样不需要对框架进行额外的解析和执行,所以性能好。但同时也降低了框架的可控性,框架层面出现bug不好排查,不懂C语言和php扩展开发很难修复。
  • 代码的可读性上来说,laravel更胜一筹。(表现力较强,不懂php基本也能看懂他在做什么)
  • 但从开发速度上来说,yii ≥ laravel > phalcon。
  • 从学习成本、使用成本:yii ≥ laravel > phalcon。
综合上述:yii以微弱的优势领先,推荐yii。 Yii 强大的组件,丰富的类库,成熟的模式,方便的gii,各式的widget,使你开发速度提升了几个等级
我用好几年了,公司上项目基本都是yii。
更多案例:yiichina.com/cases 我用过不少PHP框架,CI/Kohana/Zend/Yii/Qcodo,也research过laravel,没什么不喜欢,不过技术上我已经懒得区分它们的长短,形成不了本质的区别。Yii是一个成熟的优秀框架,它的架构贴近实际用例,源代码也很好读,这不是说其他框架就不是这样,只是说Yii做得也很好。

我最后待在Yii的阵营,首先当然我喜欢这个框架给开发提供的可能性,和它的架构设计;

但最主要的是因为Yii的作者薛强,Qiang Xue | LinkedIn
Qiang Xue is an established software engineer with 10+ years of enterprise software development experience. He is an expert in business intelligence software as well as Web framework development. He is the founder of Yii, one of the most popular Web frameworks, powering thousands of Web applications. Qiang is an avid open source contributor, a big fan and practitioner of test-driven development and agile methodology. Qiang received his PhD degree in Computer Science from Duke University.
是一个说中国话的华人,如果我打算把我的时间投资在一项关键技术或者一个社区,我认为作者和作为使用者的文化有重合是很重要的非技术因素;

也许只是我个人的感觉 — 直到有一天我悄悄地注意到,我的法国同事极力推崇Symfony懒得看Yii哪怕我把各种advantage是多么适合新手上手(想必SF)和敏捷开发都放到ppt里了。

文化是重要的,用Yii让我和它有种Connection,我比较care,说白了,就因为哥们是华人;流不流行真的,算个什么,况且Yii也很流行,用它做了很多项目,一直很舒适。 供你参考:选框架前我阅读了很多篇文章,国内的国外的,中英文都有,最后选择Yii ==> Yii2 从11年接触yii开始,知道现在,用yii做了好几个项目,大概都属于BAT里边的中小型startup项目比较多。最近的一个是一个电商项目的应用层。整体来说yii的确是一个很好的平衡。
1.自动化crud,让你在有了数据建模之后,瞬间完成界面。
2.layout等view的布局模式,让你可以轻松区块化。
3.灵活的widget机制,重用区块也很方便,这次电商系统页面上复杂的广告位就通过这个来实现的。
4.模块的提供,能让几个团队在同一个项目中轻松分割代码。(运营的活动,都是另外一个开发团队在几个模块先单独去开发的)
5.url manager 的规则,能将一个controller变换成任意客户需要的url link 格式(一开始客户要xxx/product-111.html 后来要xxx/p/111.html最后要xxx/111.html)
6.缓存、session等封装,让你轻松在redis 文件缓存,数据库等之间切换
7.强大的log系统,不同级别的日志,方便trace问题
8.验证部分可能见仁见智,但是对于初期,良好的model+validate的封装,可以重用前端js和后端PHP层的验证,而表单提交的验证,也是最复杂的部分,相对就简化了
9.主题功能,通过不同主题,实现了一期二期的迅速迭代开发。同时也实现了pc版和移动版
10.性能方面,通过opcache,实际上并不慢,可以想见php7支持后,性能仍然可以提高一个层次。千万pv到亿级pv而言,也能撑住,当然如果有这么大的量,您可以选择任何技术架构了。

暂时这么多,有什么问题,大家可以留言,真心推荐startup用yii,只要follow规则,写出来的代码质量也比较高。其他两个框架,我用得不多,不做评价。

在国外,Symfony2 一直是企业级php框架的标准,电商也基本使用Symfony2,例如Magento,Sylius等,我做过简单的比较,Laravel 和 symfony 在架构和核心功能上,基本上是一模一样的~~不存在谁更强大之说。 但是laravel 有两点不同,第一个语言优美,第二个out of box,它是以用户为中心的,做了比较多的封装,用了很多best practise的约定,偏向黑盒,比较像苹果的风格,就像苹果手机; symfony2 偏向白盒,架构清晰灵活,但是非常复杂繁琐~~你需要自己做很多轮子,好处就是轮子都可以很轻松调试,有点像windows的企业版。

单就框架本身而言,个人认为Laravel 5.1 是在所有当前『全栈式』php框架中最好的。这里的关键字是『全栈』,Laravel 5.1 几乎可以搞定任何web应用,和js的一些前端框架兼容得非常完美。也就意味着,个人开发者可以围绕这个框架独立的开发出非常牛B的应用,比如像以前热门的SNS社区系统,用laravel来实现基本上就是牛刀小试。

团队开发上Laravel 5.1 也极具优势,它良好的扩展性和先进的架构,是真正意义上的『现代框架』,团队可以基于框架的特性制定出非常丰富的开发策略。例如,Laravel对CLI命令有着良好的支持,这意味着自动化代码方面,可以有非常大的发挥空间。

无论是PHP菜鸟还是老手,Laravel 5.1都非常值得学习,它就好像是PHP领域的Photoshop,所以不用犹豫了。

如果这几个框架你都没用过,强烈建议先入手Laravel

个人推荐Yii 学习新框架能不能带来工资上涨?

如果回答是No。那么吹的再好的框架对你都是无(ran)所(Bing)谓(nuan)。不要在意那些个布道的人怎么说。我每次被人步道优雅,高效,个人修养的时候。我就直接问他能不能涨工资

市场对你的定价基本说明了一切。有时间学那玩意不如多陪陪你女票。

猿类通常思想比较单纯。容易被各种步道的人骗。大家要提高警惕!

--------------------------------------------------------------我用CI。比较简单的话不用框架。用一些composer包组装即可。Lara依赖太多的composer包了。每个组件看下来时间太长。Yii如果你要用内置的东西。就必须满足这些框架的命名以及各种既定的约束。
然而程序本身是非常自由的。每个语言不过是给我们一些基本的约束。具体房子怎么搭。全看个人爱好。
感觉你一旦熟悉了框架。最后一定会脱离这些东西的

个人观点:大部分框架都是坨翔。初学者的因为看不懂框架。所以觉得框架多么的厉害。高效方便。当然。学习框架对初学者养成一些规范和加深对语言理解还是非常有帮助的。但是一千个人心里有一千个哈姆雷特!框架再好也只不过是框架作者对某些语言的理解罢了!你的理解未必一样。当你熟悉了过后慢慢的就会有自己的独特理解和认识。 laravel, phalcon都囊括了当下流行的设计思想和编程意识
laravel虽然比较复杂,功能强大,结合composer,充分利用各种第三方类库组合实现框架,比如doctrine,symfony系列组件。必然是未来发展趋势,相当值得一用。

phalcon是通过扩展实现php框架的另一发展思路,同时还衍生出了zephir这种另类的php扩展开发方式,如果要对框架做深度定制,没有C的基础,确实是很大的一个难题,但是这个框架在出现问题的时候,容易让新人困惑,以及不好定位问题。

个人对Yii没有什么好感,槽点太多。奇怪的目录结构,不伦不类的名字空间规则(早期学java风格),有太多的规则来约束开发人员的行为,组件定义不好用,文档说明生硬。

上面几个框架,对初学者而言,门槛都比较高,如果不对框架做深入的学习和理解,很难轻松驾驭。
推荐symfony,功能强大,初学门槛低,设计思想前卫,适合大中型项目开发,好用。 最近公司做erp,没人管,我就选了个大家都说好的laravel,用laravel写出来的代码的确很优雅,还有很吸引我的是他的数据库迁移功能,团队协作开发时很方便。
说说缺点,路由功能虽然很强,但是有些繁琐,不是很简洁
性能肉眼看来并不是很好
读了一次源码,看到kenerl里路由分发和中间件看段被一堆闭包搞晕了,所以内部实现感觉并不是很简洁优雅
orm并不是很好用
文档翻译的不咋样,原版写的也不咋样,学习成本挺高
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Quelle est l'architecture d'ecshop ? Quelle est l'architecture d'ecshop ? Feb 23, 2023 am 09:32 AM

ecshop est une architecture « B2C » ; ecshop est un système de boutique en ligne indépendant B2C, adapté aux entreprises et aux particuliers pour créer rapidement des boutiques en ligne personnalisées ; le système est un programme open source multiplateforme développé sur la base du langage PHP et de l'architecture de base de données MYSQL.

Quelles sont les méthodes de tri des articles ecshop ? Quelles sont les méthodes de tri des articles ecshop ? Jun 16, 2023 am 11:30 AM

Comment trier les articles ecshop : 1. Trier par heure de publication, vous pouvez contrôler l'ordre des articles dans la liste en modifiant l'heure de publication de l'article ; 2. Trier par clics, vous pouvez réaliser ce tri en installant le « Classement des clics d'articles » " Fonction du plug-in, ce plug-in peut compter le nombre de clics sur les articles ; 3. Trier par le nombre de commentaires, vous pouvez implémenter cette fonction de tri en installant le plug-in "Article Comments Ranking", qui permet de compter les nombre de commentaires sur les articles ; 4. Trier par pertinence, Cette fonction de tri peut être réalisée en installant le plug-in « Search Ranking ».

Quelles sont les caractéristiques d'ecshop ? Quelles sont les caractéristiques d'ecshop ? Feb 13, 2023 am 09:43 AM

Caractéristiques : 1. Système open source avec flexibilité, personnalisation et évolutivité élevée ; 2. Prise en charge du développement secondaire indépendant ; 3. Modèles et plug-ins riches ; 4. Forte adaptabilité de l'industrie 5. Éviter d'être contraint par les fournisseurs de logiciels ; et stabilité ; 7. Mise à niveau du cadre Mobile H5, basée sur le remplacement complet de VUE, plus flexible et ouvert ; 8. Fonction de remise à plusieurs niveaux, prenant en charge les codes QR, les affiches et autres méthodes de promotion, développement de fission illimité des distributeurs ; du terminal de gestion est entièrement renouvelé, l'interface utilisateur est simple et belle, et l'expérience de fonctionnement est améliorée ; 9. Prend en charge PHP7.2 et les performances sont doublées.

Gestion des produits Ecshop avancée : découvrez comment ajouter des champs Gestion des produits Ecshop avancée : découvrez comment ajouter des champs Mar 12, 2024 pm 02:06 PM

Ecshop Product Management Advanced : Apprenez à ajouter des champs, vous avez besoin d'exemples de code spécifiques. Lorsque vous utilisez Ecshop pour la gestion de produits, vous rencontrez souvent des situations dans lesquelles vous devez ajouter des champs personnalisés pour répondre à des besoins spécifiques. En ajoutant des champs, une gestion des produits plus précise et une meilleure expérience utilisateur peuvent être obtenues. Cet article expliquera comment ajouter des champs dans Ecshop et fournira des exemples de code spécifiques. Tout d’abord, nous devons clarifier la nécessité d’ajouter des champs. Par exemple, nous devons ajouter un champ « date de production » à la page de détails du produit pour

Quel programme est ecshop ? Quel programme est ecshop ? Feb 16, 2023 am 10:38 AM

ECShop est un système de boutique en ligne indépendant B2C. Il s'agit d'un programme open source multiplateforme développé sur la base du langage PHP et de l'architecture de base de données MYSQL. Il convient aux entreprises et aux particuliers pour créer rapidement des boutiques en ligne personnalisées. Les caractéristiques du système ecshop mall : 1. Prise en charge du développement secondaire indépendant ; 2. Modèles et plug-ins riches ; 3. Forte adaptabilité de l'industrie 4. Éviter d'être contraint par les fournisseurs de logiciels ; 5. Fiabilité et stabilité accrues ;

Quel est le modèle d'ecshop ? Quel est le modèle d'ecshop ? Feb 22, 2023 am 09:37 AM

ecshop est un modèle B2C. ECShop est un système de boutique en ligne indépendant B2C, adapté aux entreprises et aux particuliers pour créer rapidement des boutiques en ligne personnalisées. B2C fait référence à un modèle de commerce électronique, et c'est également un modèle de vente au détail qui vend des produits et des services directement aux consommateurs ; le mode de paiement du commerce électronique B2C est une combinaison de paiement à la livraison et de paiement en ligne, et la plupart des entreprises choisissent la logistique. externalisation pour la livraison. Pour réduire les coûts d’exploitation.

Comment supprimer les droits d'auteur en bas d'ecshop Comment supprimer les droits d'auteur en bas d'ecshop Aug 08, 2023 pm 02:42 PM

Méthode pour supprimer le copyright en bas d'ecshop : 1. Modifiez le fichier modèle, l'emplacement précis est : répertoire thèmes/votre_theme, recherchez le fichier footer.html dans ce répertoire, ouvrez-le avec un éditeur de texte, recherchez le segment de code contenant les informations de copyright, supprimez-les ou commentez. Enregistrez simplement le fichier et fermez-le ; 2. Pour utiliser le plug-in, connectez-vous au backend, cliquez sur gestion du plug-in, recherchez les droits d'auteur et autres mots-clés associés en bas, sélectionnez un plug-in approprié à installer et à activer. 3. Pour acheter un thème, achetez-le sur le site officiel d'ECShop, etc.

Comment annuler le mode de livraison dans ecshop Comment annuler le mode de livraison dans ecshop Mar 03, 2023 am 09:56 AM

Comment annuler le mode d'expédition dans ecshop : 1. Recherchez et ouvrez le fichier "flow.dwt", puis supprimez "<!--{if $total.real_goods_count neq 0}-->...<!-- { /if} - ->" code ; 2. Remplacez "checkOrderForm(frm)" dans "js/shopping_flow.js" par "if (document.getElementById(...)".

See all articles