靠窗户控制器erstellen
靠窗户控制器erstellen
Unser Gastebuchprojekt是bereits auf民主党服务器毛皮窝Produktivbetrieb生活,但我们有静脉wenig geschummelt: Das Projekt帽子还有Webseiten。主页zeigt一张langweilige 404 - fehlerseite死去。Das构想我们gleich korrigieren。
要是静脉http请求(HTTP-Anfrage) eintrifft是不是z。b .毛皮死主页(http://localhost: 8000 /
),versucht Sob娱乐下载ymfony,风景明信片路线祖法登民主党Request-Pfadentspricht(这里/
)。风景明信片路线是死Verbindung说是民主党请求路径(Anforderungspfad)和einemPHP调用——静脉Funktion,死的死http响应(HTTP-Antwort)皮草的估计值erzeugt请求。
这可调用了als bezeichnet“控制器”。在Syob娱乐下载mfony信德死meisten控制器als PHP-Klassen implementiert。杜kannst一张solche Klasse manuell erstellen,河口哒我们要快速地信德,构想我们看清,是不是Symfony爹妈helfen萤石。ob娱乐下载
福盛——麻省理工学院民主党制造商包
嗯控制器muhelos祖茂堂generieren,能帮我们dasob娱乐下载symfony / maker-bundle
寄nutzen,韦尔奇麻省民主党webapp
寄installiert,。
Das Maker-Bundle hilft Dir,有verschiedene克拉森祖茂堂generieren。我们中了es diesem Buch总是wieder verwenden。杰德坚持“发电机”einem Befehl definiert和阿莱Befehle信德菩提树des使
-Befehl-Namespaces。
在Der Der Syob娱乐下载mfony-Console eingebaute列表
-Befehl listet阿莱Befehle,死unt einem bestimmten名称空间verfugbar信德;verwende ihn、嗯阿莱vom Maker-Bundle bereitgestellten Generatoren祖茂堂ermitteln:
1
美元ob娱乐下载symfony控制台使列表
静脉Konfigurationsformat auswahlen
Bevor我们窝ersten控制器des Projekts erstellen,得我们爹妈entscheiden,韦尔奇Konfigurationsformat我们verwenden构想。ob娱乐下载Symfony unterstutzt YAML、XML、PHP和PHP-Attribute nativ。
毛死在Bezug Konfiguration Pakete汪汪汪坚持YAMLbeste Wahl死去。死的】格式,das im配置/
Verzeichnis verwendet将。Haufig,要是Du静脉新寄installierst,将这个配方这本寄一张neue Datei麻省理工学院der Endung.yaml
祖茂堂diesem Verzeichnis hinzufugen。
毛死Konfiguration冯php代码信德属性明信片bessere Wahl, da您nahe代码hinterlegt信德。小姑娘密歇根州das一个einem Beispiel请:要是一张请求eingeht,吵架一张Konfiguration Symfony mitteilen, dass der Requeob娱乐下载stpfad冯einem bestimmten控制器(静脉PHP-Klasse) behandelt了soll后。贝der Verwendung冯·YAML - XML -奥得河PHP-Konfigurationsformaten信德请来两Dateien beteiligt(死Konfigurationsdatei和死PHP-Controller-Datei)。贝der Verwendung冯Attributen erfolgt死Konfiguration direkt der Controller-Klasse。
杜fragst你vielleicht,是不是Du窝Paketnamen erraten kannst,窝Du毛皮死安装进行bestimmten特性eingeben你们吗?Meistens你们杜es不wissen。在青年社在十分堕落enthalt Symfony ob娱乐下载Fehlermeldungen das祖茂堂installierende寄。Der Aufrufob娱乐下载symfony:消息
ohne das信使
寄例如器皿麻省理工学院静脉异常闭幕,模杯Hinweis auf模安装des richtigen Pakets enthalt。
靠窗户控制器erzeugen
Erstelle Deinen ersten控制器超级丹:控制器
Befehl:
1
美元ob娱乐下载ConferenceController symfony控制台:控制器
Der Befehl erstellt风景明信片ConferenceController
-Klasse imsrc /控制器/
-Verzeichnis。死generierte Klasse besteht来自标准代码,der现在angepasst了萤石:
达斯#(路线(“/会议”,名字:“会议”))
-Attribut macht死index ()
方法祖茂堂einem控制器(死Konfiguration befindet西奇neben民主党代码,窝您konfiguriert)。
要是在浏览器einem Du/会议
aufrufst,将der控制器响应(Antwort) zuruckgegeben ausgefuhrt和风景明信片。
过时的路线一个死去,该死您麻省理工学院der主页ubereinstimmt:
1 2 3 4 5 6 7 8 9 10 11
- - - / src /控制器/ ConferenceController.php+ + + b / src /控制器/ ConferenceController.php@@ 8 7 + 8 7 @@使用Symob娱乐下载fony \组件\路由\注释\路线;类ConferenceController延伸AbstractController {- #[路线(“/会议”,名字:“app_conference”))+ #[路线(“/”,名字:“主页”))公共函数指数():响应{返回$ this - >渲染(会议/ index . html。嫩枝”,(
Der的名字
der路线将nutzlich盛,我们要是死主页im referenzieren公司代码。Anstatt/
als Pfad anzugeben(硬编码),verwenden我们窝的路线。
Anstelle der standardmaßig gerenderten Seite geben我们一张einfache HTML-Seite选择:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
- - - / src /控制器/ ConferenceController.php+ + + b / src /控制器/ ConferenceController.php@@ -11 8 + 11 13 @@类ConferenceController延伸AbstractController #(路线(“/”,名字:“主页”)]公共函数指数():反应{-返回$ this - >渲染(会议/ index . html。嫩枝”,(——“controller_name”= >“ConferenceController”,-]);+新响应(< < <返回EOF+ < html >+ <身体>+ < img src = " /图片/在建。gif " / >身体+ < / >+ < / html >+ EOF+);}}
Aktualisiere窝浏览器:
死Hauptaufgabe进行控制器besteht达林,一张HTTP -响应
毛穴zuruckzugeben请求。
Da der菩提树的这本Kapitels uber代码是,坑我们不behalten了,小姑娘爹妈unser Anderungen committen。
1 2
美元git添加。美元git commit - m“添加索引控制器”
静脉复活节彩蛋hinzufugen
恩祖请给她一张反应Informationen来自民主党请求nutzen萤石,fugen我们克莱因复活节彩蛋hinzu。总是什么时候死主页杯查询字符串是不是你好=法比安
enthalt, fugen我们杯文本hinzu嗯begrußen死去的人:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17日18 19 20 21日22日23日24日25日26日27日28
- - - / src /控制器/ ConferenceController.php+ + + b / src /控制器/ ConferenceController.php24 @@ @@ 3、17 + 3名称空间的应用程序\控制器;控制器使ob娱乐下载用Symfony \包\ FrameworkBundle \ \ AbstractController;+使用Syob娱乐下载mfony \ HttpFoundation \ \组件请求;组件使用ob娱乐下载Symfony \ \ HttpFoundation \反应;使用Syob娱乐下载mfony \组件\路由\注释\路线;类ConferenceController延伸AbstractController{#[路线(“/”,名字:“主页”))公共函数指数():反应+公共函数指数(请求请求美元):反应{+ $迎接=”;+如果($ name = $请求- >查询- >获取('你好')){+ $迎接= sprintf (“< h1 > % s你好!< / h1 >”, htmlspecialchars函数(名字)美元);+}+新的响应(< < <返回EOF < html > <身体>+ $问候< img src = " /图片/在建。gif " / > < /身体> < / html >
ob娱乐下载Symfony stellt死Requestdaten乳房静脉请求
-Objekt苏珥Verfugung。要是Symob娱乐下载fony静脉Controller-Argument麻省理工学院diesem Type-Hint sieht, weißes automatisch dass es das请求
-Objekt ubergeben soll后。我们可以在es verwenden,嗯das的名字
元来自民主党的查询字符串祖茂堂holen祖einem<标题>
标题hinzu zufugen。
在浏览器einem关切的往昔/
和丹/ ?你好=法比安
aufzurufen,嗯更祖茂堂看清。
请注意
Beachte窝Aufruf祖茂堂htmlspecialchars函数()
,嗯XSS-Probleme祖茂堂vermeiden。Sobald我们祖茂堂静脉richtigen模板引擎wechseln,将das automatisch毛皮爹妈erledigt。
我们条板坑死aufnehmen可以在URL以欧什:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
- - - / src /控制器/ ConferenceController.php+ + + b / src /控制器/ ConferenceController.php@@ 9日11 + 9,11 @@使用Symob娱乐下载fony \组件\路由\注释\路线;类ConferenceController延伸AbstractController {- #[路线(“/”,名字:“主页”))公共函数指数(请求美元请求):反应+ #[路线(“/ hello /{名称}”,名字:“主页”))+公共函数指数(string name = "):美元的回应{$ = "打招呼;——如果($ name = $请求- >查询- >获取('你好')){+如果(美元的名字){$迎接= sprintf (“< h1 > % s你好!< / h1 >”, htmlspecialchars函数(名字)美元);}
Der{名称}
菩提树是静脉dynamischer der路线Routenparameter- er funktioniert是不是Platzhalter。杜kannst修女/你好
和丹/ hello /法比安
在浏览器einem eingeben,嗯死gleichen Ergebnisse是不是zuvor祖茂堂erhalten。杜kannst窝维尔特des{名称}
参数erhalten, indem Du杯麻省民主党gleichen控制器参数以hinzufugst。同时,美元的名字
。
马赫Anderungen死去,死我们gemacht抗议,ruckgangig:
1
美元git checkout src /控制器/ ConferenceController.php
1 2
美元src /控制器/ ConferenceController.php git重置头美元git checkout src /控制器/ ConferenceController.php
调试Variablen
Symfob娱乐下载ony死去dump ()
-Funktion是静脉großartiger Debug-Helfer。他是永远verfugbar和它Dir komplexe Variablen在einem好和祖茂堂exportieren interaktiven格式。
安德利果汁src /控制器/ ConferenceController.php
毛皮杯时刻嗯das Request-Objekt祖茂堂exportieren:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
- - - / src /控制器/ ConferenceController.php+ + + b / src /控制器/ ConferenceController.php17 @@ @@ 3 14 + 3名称空间的应用程序\控制器;控制器使ob娱乐下载用Symfony \包\ FrameworkBundle \ \ AbstractController;+使用Syob娱乐下载mfony \ HttpFoundation \ \组件请求;组件使用ob娱乐下载Symfony \ \ HttpFoundation \反应;使用Syob娱乐下载mfony \组件\路由\注释\路线;类ConferenceController延伸AbstractController{#[路线(“/”,名字:“主页”))公共函数指数():反应+公共函数指数(请求请求美元):反应{美元+转储(请求);+新的响应(< < <返回EOF < html > <身体>
要是杜死Seite aktualisierst,爸爸Du静脉新“Zielscheiben der工具栏图标;该死kannst Du窝inspektieren出口。要是Du darauf klickst, Du Zugang祖茂堂静脉ganzen Seite,我们es einfach坚持军队祖茂堂navigatieren:
马赫Anderungen死去,死我们gemacht抗议,ruckgangig:
1
美元git checkout src /控制器/ ConferenceController.php
1 2
美元src /控制器/ ConferenceController.php git重置头美元git checkout src /控制器/ ConferenceController.php
Weiterfuhrendes
- Das ob娱乐下载Symfony路由系统;
- ob娱乐下载& Seiten SymfonyCasts-Tutorial毛皮路线,控制器;
- PHP属性;
- 死HttpFoundationKomponente;
- XSS(跨站点脚本)Sicherheitsangriffe;
- 达斯ob娱乐下载Symfony路由小抄。