Gửi dữ liệu bằng controller như thế nào php

Hôm qua, chúng a đã khám phá cách quản lý aabas của symfony: rừu ượng sự khác nhau gữa các aabas ngns, chuyển đổ cơ sở ữ lệu hành các lớp hướng đố ượng. Chúng a cũng đã sử ụng Propl để ạo aabas schma, ạo các bảng, và ạo sẵn mộ và ữ lệu mẫu.

Hôm nay, chúng a sẽ bắ đầu chỉnh sửa moul

sylshs: [man.css, jobs.css, job.css]7 đã ạo hôm qua. Moul

sylshs: [man.css, jobs.css, job.css]7 đã có ấ cả các mã nguồn cần hế:

    Mộ rang ls các công vệcMộ rang ạo công vệc mớMộ rang cập nhậ công vệc đã cóMộ rang xóa công vệc

Mặc ù mã nguồn đã có hể sử ụng, nhưng chúng a cần sửa lạ mplas cho phù hợp.

Kến rúc MVC

Nếu bạn đã ừng phá rển mộ wbs bằng PHP mà không ùng framwork, hường vớ mỗ rang HTML bạn sẽ ùng mộ fl PHP. Fl PHP này sẽ chứa nhều kểu cấu rúc: các cấu hình khở ạo và oàn cục, busnss logc lên quan đến yêu cầu của rang, lấy các ữ lệu ừ aabas, và cuố cùng ạo mã HTML để hển hị.

Bạn có hể sử ụng mộ mplang ngn để ách phần logc và HTML. Tấ nhên, bạn cũng có hể sử ụng mộ aabas absracon layr để ách phần hao ác vớ mol ra khỏ busnss logc. Nhưng hường bạn sẽ ạo ra rấ nhều co mà vệc manan rở hành cơn ác mộng. Có hể bạn sẽ xây ựng ứng ụng rấ nhanh, nhưng hậ khó để hay đổ, nâng cấp, đặc bệ kh không có a ngoạ rừ bạn hểu được cách nó làm vệc.

Có mộ gả pháp uyệ vờ để gả quyế những vấn đề rên. Đố vớ vệc phá rển wb , gả pháp hường ùng là ổ chức co ho MVC sgn parn. Parn này cha co hành ba ầng:

    Mol bao gồm busnss logc (aabas nằm ở ầng này). Bạn đã hấy rằng symfony chứa ấ cả các class và fl lên quan đến Mol rong hư mục

    sylshs: [man.css, jobs.css, job.css]9.

    Vw là những gì ương ác vớ ngườ ùng (mpla ngn là mộ phần của ầng này). Trong symfony, ầng Vw được ạo bở PHP mplas. Các fl này nằm rong các hư mục

    sylshs: [man.css, jobs.css, job.css, prn: { ma: prn }]0 khác nhau mà chúng a sẽ hấy ở các phần sau rong ngày hôm nay.

    Conrollr hực hện vệc lấy ữ lệu ừ Mol và chuyển cho Vw để hển hị ở cln. Kh chúng a cà symfony rong ngày đầu ên, chúng a đã hấy rằng mọ yêu cầu được đều khển bở fl fron conrollrs (

    sylshs: [man.css, jobs.css, job.css, prn: { ma: prn }]1 và

    sylshs: [man.css, jobs.css, job.css, prn: { ma: prn }]2). Những fl fron conrollrs này sẽ ìm acons ương ứng để hực hện yêu cầu đó. Như chúng a hấy hôm qua, các acon được nhóm lạ rong moul.

Hôm nay, chúng a sẽ ựa vào những nộ ung rong ngày 2 để chỉnh sửa lạ mã nguồn đã có sẵn của rang chủ và rang ch ế công vệc. Đồng hờ, chúng a cũng chỉnh sửa rấ nhều fl lên quan để làm rõ cấu rúc hư mục của symfony và cách phân cha co gữa các ầng.

Layou

Nếu để ý, bạn sẽ hấy rằng các rang có nhều phần gống nhau.Bạn cũng hểu rằng vệc lặp lạ co hậ ệ, bấ kể đó là co HTML hay PHP, o đó chúng a cần ìm cách để gảm sự lặp lạ này.

Mộ cách gả quyế là ách các har và foor hành các fl rêng và nclu chúng vào mỗ mpla:

Nhưng ở đây, fl har và foor không chứa val HTML. Cần có cách ố hơn. Thay vì rnvnng h whl, chúng a ùng mộ sgn parn khác để gả quyế vấn đề này: coraor sgn parn. Dcoraor sgn parn gả quyế vấn đề ho cách: sau kh nộ ung chính được ạo, a sẽ ùng mộ global mpla để hêm các phần còn lạ, global mpla rong symfony gọ là mộ layou:

Layou mặc định của mộ applcaon là fl

sylshs: [man.css, jobs.css, job.css, prn: { ma: prn }]3 nằm rong hư mục

sylshs: [man.css, jobs.css, job.css, prn: { ma: prn }]4. Thư mục này chứa ấ cả các global mplas cho mộ applcaon.

Thay layou mặc định của symfony bằng đoạn co sau:

&l;!-- apps/fronn/mplas/layou.php --&g; &l;!DOCTYPE hml PUBLIC "-//W3C//DTD XHTML 1.0 Transonal//EN" "hp://www.w3.org/TR/xhml1/DTD/xhml1-ransonal."&g; &l;hml xmlns="hp://www.w3.org/1999/xhml" xml:lang="n" lang="n"&g; &l;ha&g; &l;l&g;Job - Your bs job boar&l;/l&g; &l;lnk rl="shorcu con" hrf="/favcon.co" /&g; &l;?php nclu_javascrps() ?&g; &l;?php nclu_sylshs() ?&g; &l;/ha&g; &l;boy&g; &l;v ="conanr"&g; &l;v ="har"&g; &l;v class="conn"&g; &l;h1&g;&l;a hrf="/job"&g; &l;mg src="/lgacy/mags/job.gf" al="Job Job Boar" /&g; &l;/a&g;&l;/h1&g;   &l;v ="sub_har"&g; &l;v class="pos"&g; &l;h2&g;Ask for popl&l;/h2&g; &l;v&g; &l;a hrf="/job/nw"&g;Pos a Job&l;/a&g; &l;/v&g; &l;/v&g;   &l;v class="sarch"&g; &l;h2&g;Ask for a job&l;/h2&g; &l;form acon="" mho="g"&g; &l;npu yp="x" nam="kywors" ="sarch_kywors" /&g; &l;npu yp="subm" valu="sarch" /&g; &l;v class="hlp"&g; Enr som kywors (cy, counry, poson, ...) &l;/v&g; &l;/form&g; &l;/v&g; &l;/v&g; &l;/v&g; &l;/v&g;   &l;v ="conn"&g; &l;?php f ($sf_usr-&g;hasFlash('noc')): ?&g; &l;v class="flash_noc"&g;&l;?php cho $sf_usr-&g;gFlash('noc') ?&g;&l;/v&g; &l;?php nf; ?&g;   &l;?php f ($sf_usr-&g;hasFlash('rror')): ?&g; &l;v class="flash_rror"&g;&l;?php cho $sf_usr-&g;gFlash('rror') ?&g;&l;/v&g; &l;?php nf; ?&g;   &l;v class="conn"&g; &l;?php cho $sf_conn ?&g; &l;/v&g; &l;/v&g;   &l;v ="foor"&g; &l;v class="conn"&g; &l;span class="symfony"&g; &l;mg src="/lgacy/mags/job-mn.png" /&g; powr by &l;a hrf="/"&g; &l;mg src="/lgacy/mags/symfony.gf" al="symfony framwork" /&g;&l;/a&g; &l;/span&g; &l;ul&g; &l;l&g;&l;a hrf=""&g;Abou Job&l;/a&g;&l;/l&g; &l;l class="f"&g;&l;a hrf=""&g;Full f&l;/a&g;&l;/l&g; &l;l&g;&l;a hrf=""&g;Job API&l;/a&g;&l;/l&g; &l;l class="las"&g;&l;a hrf=""&g;Afflas&l;/a&g;&l;/l&g; &l;/ul&g; &l;/v&g; &l;/v&g; &l;/v&g; &l;/boy&g; &l;/hml&g;

Mộ mpla rong symfony là mộ fl PHP. Trong layou mpla, bạn sẽ hấy các PHP funcons được gọ và ham chếu đến các bến PHP.

sylshs: [man.css, jobs.css, job.css, prn: { ma: prn }]5 là mộ bến hú vị: nó được ạo bở framwork và chứa co HTML ạo bở mộ acon.

Nếu bạn ruy cập moul

sylshs: [man.css, jobs.css, job.css]7 (

sylshs: [man.css, jobs.css, job.css, prn: { ma: prn }]7), bạn sẽ hấy các acons bây gờ đều có layou.

no

Trong layou, chúng a có mộ favcon. Bạn có hể ownloa h Job on và đặ nó vào hư mục

sylshs: [man.css, jobs.css, job.css, prn: { ma: prn }]8.

Sylshs, Imags và JavaScrps

Chúng a sẽ ổ chức chọn "bs sgn" vào ngày hứ 21, rong kh chờ đợ chúng a sẽ ùng ạm mộ sgn đơn gản: ownloa các fl ảnh và gả nén vào hư mục

sylshs: [man.css, jobs.css, job.css, prn: { ma: prn }]9; ownloa các fl sylsh và gả nén vào hư mục

&l;lnk rl="sylsh" yp="x/css" ma="scrn" hrf="/css/man.css" /&g; &l;lnk rl="sylsh" yp="x/css" ma="scrn" hrf="/css/jobs.css" /&g; &l;lnk rl="sylsh" yp="x/css" ma="scrn" hrf="/css/job.css" /&g; &l;lnk rl="sylsh" yp="x/css" ma="prn" hrf="/css/prn.css" /&g;0.

p

Lệnh

&l;lnk rl="sylsh" yp="x/css" ma="scrn" hrf="/css/man.css" /&g; &l;lnk rl="sylsh" yp="x/css" ma="scrn" hrf="/css/jobs.css" /&g; &l;lnk rl="sylsh" yp="x/css" ma="scrn" hrf="/css/job.css" /&g; &l;lnk rl="sylsh" yp="x/css" ma="prn" hrf="/css/prn.css" /&g;1 ạo 3 hư mục mặc định:

sylshs: [man.css, jobs.css, job.css, prn: { ma: prn }]9 để chứa ảnh,

&l;lnk rl="sylsh" yp="x/css" ma="scrn" hrf="/css/man.css" /&g; &l;lnk rl="sylsh" yp="x/css" ma="scrn" hrf="/css/jobs.css" /&g; &l;lnk rl="sylsh" yp="x/css" ma="scrn" hrf="/css/job.css" /&g; &l;lnk rl="sylsh" yp="x/css" ma="prn" hrf="/css/prn.css" /&g;0 để chứa các fl css, và

&l;lnk rl="sylsh" yp="x/css" ma="scrn" hrf="/css/man.css" /&g; &l;lnk rl="sylsh" yp="x/css" ma="scrn" hrf="/css/jobs.css" /&g; &l;lnk rl="sylsh" yp="x/css" ma="scrn" hrf="/css/job.css" /&g; &l;lnk rl="sylsh" yp="x/css" ma="prn" hrf="/css/prn.css" /&g;4 chứa các fl JavaScrps. Tấ nhên, bạn cũng có hể để ở các hư mục khác rong hư mục

sylshs: [man.css, jobs.css, job.css, prn: { ma: prn }]8

Bạn đọc nh ý có hể sẽ hấy rằng, mặc ù fl

&l;lnk rl="sylsh" yp="x/css" ma="scrn" hrf="/css/man.css" /&g; &l;lnk rl="sylsh" yp="x/css" ma="scrn" hrf="/css/jobs.css" /&g; &l;lnk rl="sylsh" yp="x/css" ma="scrn" hrf="/css/job.css" /&g; &l;lnk rl="sylsh" yp="x/css" ma="prn" hrf="/css/prn.css" /&g;6 không được nhắc đến rong layou, nhưng nó vẫn được gọ kh ạo HTML. Sao lạ có hể như vậy?

Fl sylsh được nclu bở hàm

&l;lnk rl="sylsh" yp="x/css" ma="scrn" hrf="/css/man.css" /&g; &l;lnk rl="sylsh" yp="x/css" ma="scrn" hrf="/css/jobs.css" /&g; &l;lnk rl="sylsh" yp="x/css" ma="scrn" hrf="/css/job.css" /&g; &l;lnk rl="sylsh" yp="x/css" ma="prn" hrf="/css/prn.css" /&g;7 ở

&l;lnk rl="sylsh" yp="x/css" ma="scrn" hrf="/css/man.css" /&g; &l;lnk rl="sylsh" yp="x/css" ma="scrn" hrf="/css/jobs.css" /&g; &l;lnk rl="sylsh" yp="x/css" ma="scrn" hrf="/css/job.css" /&g; &l;lnk rl="sylsh" yp="x/css" ma="prn" hrf="/css/prn.css" /&g;8 rong layou. Hàm

&l;lnk rl="sylsh" yp="x/css" ma="scrn" hrf="/css/man.css" /&g; &l;lnk rl="sylsh" yp="x/css" ma="scrn" hrf="/css/jobs.css" /&g; &l;lnk rl="sylsh" yp="x/css" ma="scrn" hrf="/css/job.css" /&g; &l;lnk rl="sylsh" yp="x/css" ma="prn" hrf="/css/prn.css" /&g;7 chính là mộ hlpr. Mộ hlpr là mộ funcon, ạo bở symfony, nhận ham số và rả về mã HTML. Các hlpr gúp gảm hờ gan co, chúng đóng gó các đoạn mã hường ùng rong mpla. Hlpr

&l;lnk rl="sylsh" yp="x/css" ma="scrn" hrf="/css/man.css" /&g; &l;lnk rl="sylsh" yp="x/css" ma="scrn" hrf="/css/jobs.css" /&g; &l;lnk rl="sylsh" yp="x/css" ma="scrn" hrf="/css/job.css" /&g; &l;lnk rl="sylsh" yp="x/css" ma="prn" hrf="/css/prn.css" /&g;7 ạo hẻ

# apps/fronn/confg/vw.yml sylshs: [man.css]1 cho sylshs.

Nhưng làm hế nào để hlpr bế cần nclu fl sylshs nào?

Tầng Vw có hể cấu hình bằng cách chỉnh sửa fl

# apps/fronn/confg/vw.yml sylshs: [man.css]2 của applcaon. Đây là nộ ung mặc định được ạo ra sau kh ùng lệnh

# apps/fronn/confg/vw.yml sylshs: [man.css]3:

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou

Fl

# apps/fronn/confg/vw.yml sylshs: [man.css]2 chứa cấu hình chung cho ấ cả các mplas của applcaon. Ví ụ, phần

# apps/fronn/confg/vw.yml sylshs: [man.css]5 được xác định bở mộ mảng các fl sylsh được nclu rong mọ rang của applcaon (vệc nclu được hực hện bở hlpr

&l;lnk rl="sylsh" yp="x/css" ma="scrn" hrf="/css/man.css" /&g; &l;lnk rl="sylsh" yp="x/css" ma="scrn" hrf="/css/jobs.css" /&g; &l;lnk rl="sylsh" yp="x/css" ma="scrn" hrf="/css/job.css" /&g; &l;lnk rl="sylsh" yp="x/css" ma="prn" hrf="/css/prn.css" /&g;7 rong layou).

no

Trong fl

# apps/fronn/confg/vw.yml sylshs: [man.css]2, a vế

&l;lnk rl="sylsh" yp="x/css" ma="scrn" hrf="/css/man.css" /&g; &l;lnk rl="sylsh" yp="x/css" ma="scrn" hrf="/css/jobs.css" /&g; &l;lnk rl="sylsh" yp="x/css" ma="scrn" hrf="/css/job.css" /&g; &l;lnk rl="sylsh" yp="x/css" ma="prn" hrf="/css/prn.css" /&g;6, chứ không ùng

# apps/fronn/confg/vw.yml sylshs: [man.css]9. Symfony sẽ ự động ìm fl rong hư mục

# apps/fronn/mouls/job/confg/vw.yml nxSuccss: sylshs: [jobs.css]   showSuccss: sylshs: [job.css]0.

Nếu có nhều fl, symfony sẽ nclu chúng ho hứ ự như vế rong cấu hình:

sylshs: [man.css, jobs.css, job.css]

Bạn cũng có hể hay đổ arbu

# apps/fronn/mouls/job/confg/vw.yml nxSuccss: sylshs: [jobs.css]   showSuccss: sylshs: [job.css]1 và bỏ qua đuô

# apps/fronn/mouls/job/confg/vw.yml nxSuccss: sylshs: [jobs.css]   showSuccss: sylshs: [job.css]2:

sylshs: [man.css, jobs.css, job.css, prn: { ma: prn }]

Cấu hình này sẽ được rnr hành:

&l;lnk rl="sylsh" yp="x/css" ma="scrn" hrf="/css/man.css" /&g; &l;lnk rl="sylsh" yp="x/css" ma="scrn" hrf="/css/jobs.css" /&g; &l;lnk rl="sylsh" yp="x/css" ma="scrn" hrf="/css/job.css" /&g; &l;lnk rl="sylsh" yp="x/css" ma="prn" hrf="/css/prn.css" /&g;

p

Fl

# apps/fronn/confg/vw.yml sylshs: [man.css]2 cũng xác định layou sử ụng cho applcaon. Mặc định, ên của nó là

# apps/fronn/mouls/job/confg/vw.yml nxSuccss: sylshs: [jobs.css]   showSuccss: sylshs: [job.css]4, ức là fl

sylshs: [man.css, jobs.css, job.css, prn: { ma: prn }]3. Bạn cũng có hể không ùng layou bằng cách chuyển gá rị của

# apps/fronn/mouls/job/confg/vw.yml nxSuccss: sylshs: [jobs.css]   showSuccss: sylshs: [job.css]6 hành

# apps/fronn/mouls/job/confg/vw.yml nxSuccss: sylshs: [jobs.css]   showSuccss: sylshs: [job.css]7.

Ta hấy rằng fl

# apps/fronn/mouls/job/confg/vw.yml nxSuccss: sylshs: [jobs.css]   showSuccss: sylshs: [job.css]8 chỉ cần ở rang chủ và fl

# apps/fronn/mouls/job/confg/vw.yml nxSuccss: sylshs: [jobs.css]   showSuccss: sylshs: [job.css]9 chỉ cần ở rang xm ch ế công vệc. Cấu hình của fl

# apps/fronn/confg/vw.yml sylshs: [man.css]2 có hể hay đổ lạ rong ừng moul cụ hể. Do đó, fl

# apps/fronn/confg/vw.yml sylshs: [man.css]2 của applcaon chỉ chứa fl

&l;lnk rl="sylsh" yp="x/css" ma="scrn" hrf="/css/man.css" /&g; &l;lnk rl="sylsh" yp="x/css" ma="scrn" hrf="/css/jobs.css" /&g; &l;lnk rl="sylsh" yp="x/css" ma="scrn" hrf="/css/job.css" /&g; &l;lnk rl="sylsh" yp="x/css" ma="prn" hrf="/css/prn.css" /&g;6:

# apps/fronn/confg/vw.yml sylshs: [man.css]

Để cấu hình rêng cho moul

sylshs: [man.css, jobs.css, job.css]7, ạo fl

# apps/fronn/confg/vw.yml sylshs: [man.css]2 rong hư mục

&l;?php us_sylsh('man.css') ?&g;5:

# apps/fronn/mouls/job/confg/vw.yml nxSuccss: sylshs: [jobs.css]   showSuccss: sylshs: [job.css]

Dướ mục

&l;?php us_sylsh('man.css') ?&g;6 và

&l;?php us_sylsh('man.css') ?&g;7 (chúng là các mpla ứng vớ acon

&l;?php us_sylsh('man.css') ?&g;8 và

&l;?php us_sylsh('man.css') ?&g;9 , sẽ được đề cập đến ở phần sau), bạn có hể chỉnh sửa lạ các mục đã có rong phần

apps/ fronn/ mouls/ job/ acons/ acons.class.php mplas/ nxSuccss.php 0 ở fl

# apps/fronn/confg/vw.yml sylshs: [man.css]2 của applcaon.Các cấu hình này sẽ hay hế các cấu hình ở applcaon có cùng nộ ung. Bạn cũng có hể ạo mộ và cấu hình cho oàn bộ acon của moul ướ mục

apps/ fronn/ mouls/ job/ acons/ acons.class.php mplas/ nxSuccss.php 2.

sbar

Nguyên ắc cấu hình rong symfony

Có nhều fl cấu hình, các cấu hình gống nhau sẽ được xác định bở các lvl khác nhau:

    Cấu hình mặc định có gá rị rong oàn bộ framworkCấu hình oàn cục cho projc (rong hư mục

    apps/ fronn/ mouls/ job/ acons/ acons.class.php mplas/ nxSuccss.php 3)Cấu hình cục bộ cho mộ applcaon (rong hư mục

    apps/ fronn/ mouls/ job/ acons/ acons.class.php mplas/ nxSuccss.php 4)Cấu hình cục bộ cho mộ moul (rong hư mục

    apps/ fronn/ mouls/ job/ acons/ acons.class.php mplas/ nxSuccss.php 5)

Kh chạy, hệ hống sẽ xác định cấu hình ừ ấ cả các fl này và cach lạ để đảm bảo hệu năng.

Kh mộ hứ có hể cấu hình ựa rên fl cấu hình, nó cũng có hể cấu hình bằng co PHP. Thay vì ạo fl

# apps/fronn/confg/vw.yml sylshs: [man.css]2 cho moul

sylshs: [man.css, jobs.css, job.css]7, bạn có hể sử ụng hlpr

apps/ fronn/ mouls/ job/ acons/ acons.class.php mplas/ nxSuccss.php 8 để nclu fl sylsh rong mộ mpla:

&l;?php us_sylsh('man.css') ?&g;

Bạn cũng có hể sử ụng hlpr này rong layou để nclu mộ sylsh chung cho applcaon.

Chọn cách làm nào là ùy sở hích của mỗ ngườ. Fl

# apps/fronn/confg/vw.yml sylshs: [man.css]2 cung cấp cách cấu hình cố định cho các mpla. Còn kh sử ụng hlpr

apps/ fronn/ mouls/ job/ acons/ acons.class.php mplas/ nxSuccss.php 8 mọ hứ rở nên mềm ẻo hơn. Vớ Job, chúng ô sẽ sử ụng hlpr

apps/ fronn/ mouls/ job/ acons/ acons.class.php mplas/ nxSuccss.php 8, vì hế bạn có hể xóa fl

# apps/fronn/confg/vw.yml sylshs: [man.css]2 và hêm lờ gọ

apps/ fronn/ mouls/ job/ acons/ acons.class.php mplas/ nxSuccss.php 8 vào rong mpla

sylshs: [man.css, jobs.css, job.css]7.

no

Tương ự, cấu hình JavaScrp nằm rong mục

// apps/fronn/mouls/job/acons/acons.class.php class jobAcons xns sfAcons { publc funcon xcuInx(sfWbRqus $rqus) { $hs-&g;job_job_ls = JobJobPr::oSlc(nw Crra()); }   // ... }5 của fl

# apps/fronn/confg/vw.yml sylshs: [man.css]2 và có hể ùng hlpr

// apps/fronn/mouls/job/acons/acons.class.php class jobAcons xns sfAcons { publc funcon xcuInx(sfWbRqus $rqus) { $hs-&g;job_job_ls = JobJobPr::oSlc(nw Crra()); }   // ... }7 để gọ fl JavaScrp rong mpla.

Trang chủ

Trang chủ chính là acon

&l;?php us_sylsh('man.css') ?&g;8 của moul

sylshs: [man.css, jobs.css, job.css]7. Acon

&l;?php us_sylsh('man.css') ?&g;8 là phần Conrollr của rang và lên kế vớ mpla,

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou01, là phần Vw:

apps/ fronn/ mouls/ job/ acons/ acons.class.php mplas/ nxSuccss.php

Acon

Mỗ acon được ạo bở mộ phương hức của mộ lớp. Vớ rang chủ, đó là lớp

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou02 (ên moul +

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou03) và phương hức

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou04 (

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou05 + ên acon). Nó hực hện vệc lấy ấ cả các job ừ aabas:

// apps/fronn/mouls/job/acons/acons.class.php class jobAcons xns sfAcons { publc funcon xcuInx(sfWbRqus $rqus) { $hs-&g;job_job_ls = JobJobPr::oSlc(nw Crra()); }   // ... }

L's hav a closr look a h co: h

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou04 mho (h Conrollr) calls h Mol

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou07 o rrv all h jobs (

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou08). I rurns an array of

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou09 objcs ha ar assgn o h

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou10 objc propry.

Tấ cả các đố ượng này được ự động chuyển cho mpla (Vw). Để chuyển ữ lệu ừ Conrollr cho Vw, hãy sử ụng

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou11 :

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou0

Bây gờ, rong mpla a có hể sử ụng các bến

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou12 và

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou13.

Tmpla

Mặc định, mpla được đặ ên rùng vớ ên acon kèm cụm

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou14, nhờ đó symfony có hể xác định acon ương ứng.

Tmpla

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou01 được snh ự động gồm mã HTML ho cấu rúc abl:

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou1

Trong mpla,

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou16 uyệ qua anh sách các

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou17 objcs (

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou18), và vớ mỗ job, gá rị của ừng cộ được hển hị. Ở đây, vệc ruy cập các gá rị của cộ đơn gản là gọ mộ phương hức accssor có ên bắ đầu bằng

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou19 kèm ho ên cộ vế hoa chữ cá đầu (ví ụ phương hức

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou20 vớ cộ

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou21). (đơn gản hơn có hể ùng:

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou22,

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou23, ... - ngườ ịch :D)

Ta chỉ cần hển hị mộ và cộ:

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou2

Hàm

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou24 là mộ symfony hlpr sẽ được đề cập vào ngày ma.

Job Pag Tmpla

Bây gờ hãy chỉnh sửa gao ện của rang ch ế công vệc. Mở fl

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou25 và hay oàn bộ nộ ung bằng đoạn co sau:

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou3

Tmpla sử ụng bến

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou26 lấy ừ acon để hển hị hông n công vệc. Do đó, chúng a cần đổ ên bến ừ

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou27 hành

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou26 rong acon

&l;?php us_sylsh('man.css') ?&g;9 (có 2 chỗ cần sửa):

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou4

Noc ha som Propl accssors ak argumns. As w hav fn h

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou21 column as a msamp, h

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou20 accssor aks a a formang parn as s frs argumn:

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou5

no

Phần mô ả công vệc sửa ụng hlpr

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou32 để forma nộ ung, bằng cách hay hế kí ự xuống òng hành mã hml

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou33. Hlpr này nằm rong nhóm hlpr

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou34, mặc định không được ự động loa, o đó chúng a cần ùng hlpr

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou35 để loa.

Slos

Hện ạ, êu đề của ấ cả các rang được xác định rong hẻ

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou36 ở layou:

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou6

Nhưng vớ rang ch ế công vệc, chúng a cần cung cấp nhều hông n hữu ích hơn, như là ên công y và vị rí uyển ụng.

Trong symfony, kh mộ vùng của layou phụ huộc vào mpla, a sử ụng slo:

Thêm mộ slo vào layou cho phép l có hể ự động hay đổ:

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou7

Mỗ slo được xác định bở mộ ên (

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou37) và được hển hị qua hlpr

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou38. Bây gờ, ở đầu mpla

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou25, ùng hlpr

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou40 để xác định nộ ung của slo:

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou8

Nếu êu đề phức ạp, a có hể đặ rong block:

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou9

Vớ mộ và rang, như rang chủ, chúng a cần mộ êu đề mặc định. Do đó, a có hể sử ụng êu đề mặc định rong layou nếu không có slo:

sylshs: [man.css, jobs.css, job.css]0

Hlpr

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou38 rả về

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou42 nếu slo được xác định. Kh đó nộ ung của slo rong mpla sẽ được sử ụng;ngược lạ, gá rị mặc định sẽ được ùng

p

Chúng a đã có mộ và hlpr bắ đầu bằng

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou43. Chúng a có hể hay bằng

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou44 để xm kế quả rả về của những hlpr này:

sylshs: [man.css, jobs.css, job.css]1

Job Pag Acon

Trang ch ế công vệc được ạo ra bở acon

&l;?php us_sylsh('man.css') ?&g;9, xác định rong phương hức

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou46 của moul

sylshs: [man.css, jobs.css, job.css]7:

sylshs: [man.css, jobs.css, job.css]2

As n h

&l;?php us_sylsh('man.css') ?&g;8 acon, h

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou07 class s us o rrv a job, hs m by usng h

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou50 mho. Th paramr of hs mho s h unqu nfr of a job, s prmary ky. Th nx scon wll xplan why h

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou51 samn rurns h job prmary ky.

p

Th gnra mol classs conan a lo of usful mhos o nrac wh h projc objcs. Tak som m o brows h co loca n h

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou52 rcory an scovr all h powr mb n hs classs.

Nếu công vệc không ồn ạ rong aabas, chúng a muốn chuyển ngườ ùng ớ rang 404, đều đó được hực hện nhờ phương hức

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou53.

Trang này hển hị khác nhau rong mô rường

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou54 và

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou55:

no

Trước kh chúng a đưa Job wbs lên chạy rên srvr, bạn sẽ học cách chỉnh sửa rang 404 mặc định.

sbar

Các phương hức "forwar"

Phương hức

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou56 ương đương vớ:

sylshs: [man.css, jobs.css, job.css]3

và:

sylshs: [man.css, jobs.css, job.css]4

Phương hức

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou57 là cách vế gọn của:

sylshs: [man.css, jobs.css, job.css]5

Phương hức

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou58 chuyển đến mộ acon khác rong cùng applcaon; ở ví ụ này, là acon

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou59 của moul

apps/ fronn/ mouls/ job/ acons/ acons.class.php mplas/ nxSuccss.php 0. Moul

apps/ fronn/ mouls/ job/ acons/ acons.class.php mplas/ nxSuccss.php 0 là moul có sẵn rong symfony chứa các acon mặc định để rnr các rang 404, scur, và logn.

Rqus và Rspons

Kh bạn ruy cập rang

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou62 hoặc

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou63 ừ rình uyệ: rình uyệ gử mộ rqus và srvr rả về mộ rspons.

Chúng a đã hấy rằng symfony đóng gó rqus rong đố ượng

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou64 (xm ham số ruyền vào phương hức

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou46). Và symfony là mộ framwork hướng đố ượng, o đó rspons cũng là mộ đố ượng, của lớp

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou66. Bạn có hể ruy cập đố ượng rspons rong acon bằng cách gọ

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou67.

Những đố ượng này cung cấp nhều phương hức ện lợ để ruy cập các hông n ừ PHP funcons và PHP global varabls.

no

Tạ sao symfony lạ phả đóng gó các PHP funcon có sẵn? Đầu ên, là bở vì các phương hức của symfony mạnh hơn các funcon PHP ương ứng. Ngoà ra, kh bạn s mộ ứng ụng, vệc gả lập các đố ượng rqus và rspons đơn gản hơn hẳn vệc ùng các global varabls hay làm vệc vớ các PHP funcons như

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou68.

Rqus

Lớp

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou64 gồm

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou70,

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou71,

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou72,

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou73, và

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou74 PHP global arrays:

Mho namPHP quvaln

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou75

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou76

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou77

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou78

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou79

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou80

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou81

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou82

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou83

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou84

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou85

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou86

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou87

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou88

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou89

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou70

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou91

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou71

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou93

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou94

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou95

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou74

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou97

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou72

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou99

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou73

sylshs: [man.css, jobs.css, job.css]01

sylshs: [man.css, jobs.css, job.css]02

sylshs: [man.css, jobs.css, job.css]03

sylshs: [man.css, jobs.css, job.css]04

Chúng a có hể ruy cập ham số qua phương hức

sylshs: [man.css, jobs.css, job.css]05. Nó rả về gá rị của

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou72 hoặc

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou73 global varabl, hoặc ừ

sylshs: [man.css, jobs.css, job.css]08 varabl.

Nếu bạn muốn bế rõ rqus paramr là ừ bến nào rong các bến rên, bạn có hể sử ụng

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou97,

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou99, gUrlParamr()`

no

Kh bạn muốn hạn chế mộ acon vớ mộ mho xác định, ví ụ bạn muốn form được subm qua

sylshs: [man.css, jobs.css, job.css]11, bạn có hể ùng phương hức

sylshs: [man.css, jobs.css, job.css]12:

sylshs: [man.css, jobs.css, job.css]13.

Rspons

Lớp

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou66 chứa

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou68 và

sylshs: [man.css, jobs.css, job.css]16 PHP mhos:

Mho namPHP quvaln

sylshs: [man.css, jobs.css, job.css]17

sylshs: [man.css, jobs.css, job.css]16

sylshs: [man.css, jobs.css, job.css]19

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou68

sylshs: [man.css, jobs.css, job.css]21

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou68

sylshs: [man.css, jobs.css, job.css]23

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou68

sylshs: [man.css, jobs.css, job.css]25

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou68

sylshs: [man.css, jobs.css, job.css]27

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou68

Tấ nhên, lớp

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou66 cũng cung cấp phương hức để ạo nộ ung của rspons (

sylshs: [man.css, jobs.css, job.css]30) và gử rspons ớ rình uyệ (

sylshs: [man.css, jobs.css, job.css]31).

Ở rên, chúng a đã bế cách quản lý sylshs và JavaScrps ừ fl

# apps/fronn/confg/vw.yml sylshs: [man.css]2 và mplas. Ở đây, a có hể ùng phương hức

sylshs: [man.css, jobs.css, job.css]33 và

sylshs: [man.css, jobs.css, job.css]34 của đố ượng rspons.

p

Lớp

sylshs: [man.css, jobs.css, job.css]35,

sylshs: [man.css, jobs.css, job.css]36, và

sylshs: [man.css, jobs.css, job.css]37 cung cấp rấ nhều phương hức hữu ích. Bạn có hể vào API ocumnaon để ra cứu ấ cả các lớp của symfony.

Hẹn gặp lạ ngày ma

Hôm nay, chúng a đã nó về mộ và sgn parns được sử ụng rong symfony. Cấu rúc hư mục của projc đã rở nên ễ hểu. Chúng a đã có hể làm vệc vớ mplas bằng cách chỉnh sửa layou và fl mpla. Chúng a cũng đã ùng slos và acons.

Nếu bạn muốn gử mộ sgn cho sgn ay cons (sẽ được bầu chọn vào ngày hứ 21), bạn có hể bắ đầu vớ mpla chúng ô đã cung cấp hôm nay.

Ngày ma, chúng a sẽ ìm hểu về hlpr

# apps/fronn/confg/vw.yml faul: hp_mas: conn-yp: x/hml   mas: #l: symfony projc #scrpon: symfony projc #kywors: symfony, projc #languag: n #robos: nx, follow   sylshs: [man.css]   javascrps: []   has_layou: on layou: layou24 chúng a đã ùng hôm nay, và kế hợp vớ sub-framwork roung.

Bạn có hể ruy cập mã nguồn của ngày hôm nay (ag

sylshs: [man.css, jobs.css, job.css]39) ạ:

sylshs: [man.css, jobs.css, job.css]6

Prvous pag Ngày 3: Daa Mol

Nx pag Ngày 5: Roung

Ths work s lcns unr h Crav Commons Arbuon-Shar Alk 3.0 Unpor Lcns lcns.