目录
回复内容:
首页 后端开发 php教程 请问laravel优雅在何处?

请问laravel优雅在何处?

Jun 06, 2016 pm 04:43 PM
composer laravel

都说laravel优雅,通过这几天的使用我发现了无线的蛋疼,充满了反人类,不人性,难道程序员就就不能有用户体验吗,每加一个控制器就加一次路由。就先谈谈路由吧,其他的先不谈,他的优雅在哪里请大牛指点。
请举例说一下laravel的强大,不要总是说,laravel多牛,composer多好,具体好在哪里。比如从一个项目的角度出发,在具体实现某个功能,都用到了哪些功能,这些写法的好处,以及后期维护方面。

回复内容:

看文档就知道了,符合人类思维的写码方式。我用它写的项目,后来公司的IOS自己在改代码。他不会PHP,当然改动不大。

这里面其实还会出现一个问题:对php不熟悉的看它文档的时候看不懂,然后就说它不好,所以对于新手来讲,它的文档不够傻瓜化,不像国内框架一样傻瓜的教你一步步怎么写。 哈哈哈哈哈。。。
我就说说,你所谓的反人类的route机制。。
我不知道除了手动的方式来mapping路径和行为的方式以外,还有什么办法可以更加的优雅。

按你的意思是,最理想的状态是,加一个controller定义一个action就自动mapping到route里面去。是啊,这个对于写单纯CRUD是省力啊,但是,要知道这种偷懒不叫 优雅。你会说,框架就是用来节省工作量的呀,偷懒有什么错呢?那你有错了,框架是用来让项目更加优雅的,而不是偷懒的。

那我再说说route都是自己手动配置的优雅所在吧。

1、你完全可以自己写一套自动的controller和route,mapping的小模块,是的,你可以自己去写,因为route文件就是一个php的脚本文件,你里面可以调用任何你想要的东西。然后,你希望偷懒的事情,很轻松的自己解决了。

2、callback,合理的利用好callback特性,能发挥出无限的可能。
3、routes.php文件在合适的管理下,就是一个牛逼的研究代码的入口。你能很容易找到对应URL的controller或者是callback。干干净净一目了然,这个就叫优雅。


说完route再说说整体,底层用的都是symfony2的那些东西,什么东西要用的composer配置一下,不要用的又没必要去用它。那么优雅的地方就来了,ORM模块我觉得用的别扭,那我酒不用了呗。。。Http用的别扭,那也就不用了呗。。。都自己写呗。。这个就是优雅,低耦合。优秀的框架就是要这种,随心所欲的感觉。

然后吐槽一下,某些不优雅的框架。。。。

$_C 还有 C()

其他的我就不多说了。。 借鉴和使用了比较先进的工具和思想 市面上这么多框架,都很有特点。就剩“优雅”没人用了。 谢邀,Laravel 理念中 强调的更多的是 Artisan,就是工匠,工匠的craftmanship那肯定是优雅,精美的。所以所谓优雅,指的是代码的整洁,易读性和易于管理性;

首先来讲易读性,如果你熟悉英语的话,你会渐渐的知道Taylor是一个语文水平很高的人,Laravel这次词本身听上去就是一个很性感的名字。
所谓易读性,就是你光凭代码就可以知道意思,而不用读注释,代码精简复用度非常高;

代码混乱很容易发生在controller部分,看一个例子,很简单只是从首页拿些数据:

<span class="x">public function index()</span>
<span class="x">	{</span>
<span class="x">        $categories = ['新手','实例','插件','进阶'];</span>


<span class="x">        $posts = Post::with('category')->whereHas('category', function($q) use ($categories) { $q->whereIn('name', $categories); })->orderBy('created_at', 'desc')->simplePaginate(7);</span>



<span class="x">        $tags = Tag::all();</span>
<span class="x">   </span>
<span class="x">        $most_read = Post::orderBy('clicks', 'desc')</span>
<span class="x">            ->with('category')</span>
<span class="x">            ->take(5)</span>
<span class="x">            ->get();</span>
<span class="x">   </span>
<span class="x">        $feature_ids = Settings::get('features');</span>

<span class="x">        foreach ($feature_ids as $key=>$val){</span>

<span class="x">            $feature_posts[$key]=Post::findOrFail($val);</span>

<span class="x">        }</span>

<span class="x">        return view('front.index', compact('posts','tags','most_read','feature_posts'));</span>
<span class="x">    }</span>
登录后复制
别的不说,先说route. 不知道你用的哪个版本,Laravel 4.*? 有没有试过group, before和after filter. Laravel 5? 试试Middleware? 有没有用到RESTful? 更不要说使用Route起来SEO有多么方便。

Composer有多好用就更不用说了,易管理,易扩展,我都不知道Composer居然能被这样吐槽。 唉,我用了很多框架,到最后,我才深深地醒悟,直接用PHP的echo语句才是最优雅的。简单就是美!好多框架都是过度设计。 这是个让人忧伤的框架 我深深感觉到这框架对新手的恶意 对比Phalcon来看Laravel,没发现任何优雅,繁杂臃肿,性能低下,不适合高访问量的企业级应用。 为什么我觉得题主说的地方,我都觉得很人性,很容易理解呢。

维护起来也不得不说很好改。。。

难道不是一个星球的laravel。
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

<🎜>:泡泡胶模拟器无穷大 - 如何获取和使用皇家钥匙
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系统,解释
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆树的耳语 - 如何解锁抓钩
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

Java教程
1665
14
CakePHP 教程
1424
52
Laravel 教程
1322
25
PHP教程
1270
29
C# 教程
1249
24
使用 Composer 解决推荐系统的困境:andres-montanez/recommendations-bundle 的实践 使用 Composer 解决推荐系统的困境:andres-montanez/recommendations-bundle 的实践 Apr 18, 2025 am 11:48 AM

在开发一个电商网站时,我遇到了一个棘手的问题:如何为用户提供个性化的商品推荐。最初,我尝试了一些简单的推荐算法,但效果并不理想,用户的满意度也因此受到影响。为了提升推荐系统的精度和效率,我决定采用更专业的解决方案。最终,我通过Composer安装了andres-montanez/recommendations-bundle,这不仅解决了我的问题,还大大提升了推荐系统的性能。可以通过一下地址学习composer:学习地址

laravel入门实例 laravel入门实例 Apr 18, 2025 pm 12:45 PM

Laravel 是一款 PHP 框架,用于轻松构建 Web 应用程序。它提供一系列强大的功能,包括:安装: 使用 Composer 全局安装 Laravel CLI,并在项目目录中创建应用程序。路由: 在 routes/web.php 中定义 URL 和处理函数之间的关系。视图: 在 resources/views 中创建视图以呈现应用程序的界面。数据库集成: 提供与 MySQL 等数据库的开箱即用集成,并使用迁移来创建和修改表。模型和控制器: 模型表示数据库实体,控制器处理 HTTP 请求。

Laravel如何学习 怎么免费学习Laravel Laravel如何学习 怎么免费学习Laravel Apr 18, 2025 pm 12:51 PM

想要学习 Laravel 框架,但苦于没有资源或经济压力?本文为你提供了免费学习 Laravel 的途径,教你如何利用网络平台、文档和社区论坛等资源,从入门到掌握,为你的 PHP 开发之旅奠定坚实基础。

laravel用户登录功能 laravel用户登录功能 Apr 18, 2025 pm 12:48 PM

Laravel 提供了一个全面的 Auth 框架,用于实现用户登录功能,包括:定义用户模型(Eloquent 模型)创建登录表单(Blade 模板引擎)编写登录控制器(继承 Auth\LoginController)验证登录请求(Auth::attempt)登录成功后重定向(redirect)考虑安全因素:哈希密码、防 CSRF 保护、速率限制和安全标头。此外,Auth 框架还提供重置密码、注册和验证电子邮件等功能。详情请参阅 Laravel 文档:https://laravel.com/doc

laravel框架安装方法 laravel框架安装方法 Apr 18, 2025 pm 12:54 PM

文章摘要:本文提供了详细分步说明,指导读者如何轻松安装 Laravel 框架。Laravel 是一个功能强大的 PHP 框架,它 упростил 和加快了 web 应用程序的开发过程。本教程涵盖了从系统要求到配置数据库和设置路由等各个方面的安装过程。通过遵循这些步骤,读者可以快速高效地为他们的 Laravel 项目打下坚实的基础。

laravel有哪些版本 laravel新手版本选择方法 laravel有哪些版本 laravel新手版本选择方法 Apr 18, 2025 pm 01:03 PM

在面向初学者的 Laravel 框架版本选择指南中,本文深入探讨了 Laravel 的版本差异,旨在协助初学者在众多版本之间做出明智的选择。我们将重点介绍每个版本的关键特征、比较它们的优缺点,并提供有用的建议,帮助新手根据他们的技能水准和项目需求挑选最合适的 Laravel 版本。对于初学者来说,选择一个合适的 Laravel 版本至关重要,因为它可以显著影响他们的学习曲线和整体开发体验。

laravel怎么查看版本号 laravel查看版本号方法 laravel怎么查看版本号 laravel查看版本号方法 Apr 18, 2025 pm 01:00 PM

Laravel框架内置了多种方法来方便地查看其版本号,满足开发者的不同需求。本文将探讨这些方法,包括使用Composer命令行工具、访问.env文件或通过PHP代码获取版本信息。这些方法对于维护和管理Laravel应用程序的版本控制至关重要。

laravel和thinkphp的区别 laravel和thinkphp的区别 Apr 18, 2025 pm 01:09 PM

Laravel 和 ThinkPHP 都是流行的 PHP 框架,在开发中各有优缺点。本文将深入比较这两者,重点介绍它们的架构、特性和性能差异,以帮助开发者根据其特定项目需求做出明智的选择。

See all articles