Laravel 5 基础教程 || 2.路由:链接与控制器的连接者 - 表严肃
直观的说,路由是用来解析地址栏中域名之后的部分的。
例子:baidu.com/lala
注意域名后的/lala,这个就是一个路由规则。路由规则可以使我们灵活的控制用户的访问范围和深度,在Laravel中甚至可以被用于权限管理哦。
创建路由
路由文件
比如说你的Laravel项目目录叫mySite,那么路由控制文件就在/mySite/app/Http/routes.php中
这个文件一开始只有一条规则,类似这样(如果你发现不止一条,没关系,反正不管有多少我们都会删掉重写的,任性(?^?) ):
这是一条定义首页的路由规则,就是这条规则使我们看到了Laravel的默认首页,也就是安装成功后的的界面。(类似下方)
Route::get('/', function () { return view('welcome');});
无耻硬广进
Laravel 5视频教程地址 - 表严肃讲堂(可试听)
所有课程: biaoyansu.com无耻硬广出
第一个路由~
Route::('hello', function(){ return 'Hello.'; });
解释:第一个传参是路由的地址(例:+baidu.com/hello),第二个传参是一个函数,聪明的你一定能猜到了(mua~)这个函数就是当路由匹配时触发执行的,如果你现在的测试地址是+localhost:8888那么,那么当你在浏览器地址栏输入+localhost:8888/hello然后来一个低调的回车你就会看到一个低调的“Hello.”
细心的同学可能发现我们使用的是return而不是echo,为什么可以直接打印字符串?Laravel就是这样的小背心,当他检测到你直接返回了字符串时会使用echo的方式,不止如此,当检测到返回的是数组时Laravel会将数组转换成json返回(暖男一枚,鉴定完毕)。
Route::get('hello', function () { return [ 'greet' => 'Hello', 'name' => 'XiaoBeiXin' ];});
会输出:
路由传参
如果我们想在Hello后加动态的添加人名怎么办?
这么干:
Route::get('hello/{name}', function($name){ return 'Hello ' . $name . '.'; });
地址栏传参localhost:8888/hello/LiMing
输出:
那么怎么输出一个HTML文件雷?
不着急,后面和View一起讲。

APHPDependencyInjectionContainerisatoolthatmanagesclassdependencies,enhancingcodemodularity,testability,andmaintainability.Itactsasacentralhubforcreatingandinjectingdependencies,thusreducingtightcouplingandeasingunittesting.

Select DependencyInjection (DI) for large applications, ServiceLocator is suitable for small projects or prototypes. 1) DI improves the testability and modularity of the code through constructor injection. 2) ServiceLocator obtains services through center registration, which is convenient but may lead to an increase in code coupling.

PHPapplicationscanbeoptimizedforspeedandefficiencyby:1)enablingopcacheinphp.ini,2)usingpreparedstatementswithPDOfordatabasequeries,3)replacingloopswitharray_filterandarray_mapfordataprocessing,4)configuringNginxasareverseproxy,5)implementingcachingwi

PHPemailvalidationinvolvesthreesteps:1)Formatvalidationusingregularexpressionstochecktheemailformat;2)DNSvalidationtoensurethedomainhasavalidMXrecord;3)SMTPvalidation,themostthoroughmethod,whichchecksifthemailboxexistsbyconnectingtotheSMTPserver.Impl

TomakePHPapplicationsfaster,followthesesteps:1)UseOpcodeCachinglikeOPcachetostoreprecompiledscriptbytecode.2)MinimizeDatabaseQueriesbyusingquerycachingandefficientindexing.3)LeveragePHP7 Featuresforbettercodeefficiency.4)ImplementCachingStrategiessuc

ToimprovePHPapplicationspeed,followthesesteps:1)EnableopcodecachingwithAPCutoreducescriptexecutiontime.2)ImplementdatabasequerycachingusingPDOtominimizedatabasehits.3)UseHTTP/2tomultiplexrequestsandreduceconnectionoverhead.4)Limitsessionusagebyclosin

Dependency injection (DI) significantly improves the testability of PHP code by explicitly transitive dependencies. 1) DI decoupling classes and specific implementations make testing and maintenance more flexible. 2) Among the three types, the constructor injects explicit expression dependencies to keep the state consistent. 3) Use DI containers to manage complex dependencies to improve code quality and development efficiency.

DatabasequeryoptimizationinPHPinvolvesseveralstrategiestoenhanceperformance.1)Selectonlynecessarycolumnstoreducedatatransfer.2)Useindexingtospeedupdataretrieval.3)Implementquerycachingtostoreresultsoffrequentqueries.4)Utilizepreparedstatementsforeffi


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

VSCode Windows 64-bit Download
A free and powerful IDE editor launched by Microsoft

WebStorm Mac version
Useful JavaScript development tools

mPDF
mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),

SAP NetWeaver Server Adapter for Eclipse
Integrate Eclipse with SAP NetWeaver application server.

Notepad++7.3.1
Easy-to-use and free code editor
