Concluzie niveluri meniuri cu un nivel de imbricare nelimitat

Concluzie niveluri meniuri cu un nivel de imbricare nelimitat

Cadrul YII2. Dezvoltarea rapidă a cadrelor moderne PHP

Explorați moderne subtilitățile cadru de dezvoltare web folosind YII2

1. Crearea unei baze de date.

Deci, aici este această structură a tabelului (tabelul se numește categorii), avem nevoie pentru a afișa, și stocarea de meniu multi-nivel al datelor:

Concluzie niveluri meniuri cu un nivel de imbricare nelimitat

Acum, câmpurile de descriere din tabel:

id - ID al tabelului (ca de obicei identificatori AUTO_INCREMENT și PRIMARY KEY)

Acum, că baza de date a fost creată, să creeze un scenariu.

2. Configurarea de bază și conectarea la baza de date.

Deci, să definească structura fișierului script-ul viitorului. În această lecție, vă vom contacta unitatea obține doar cu un meniu de mai multe niveluri, deci avem nevoie, aici este o colecție de fișiere și foldere:

funcții
- functions.php
config.php
index.php

A se vedea dosarul funcții conține un singur fișier - functions.php, care va descrie toate funcțiile necesare pentru funcționarea normală a script-ul. Mai mult, în fișierul config.php, vom descrie toate setările de bază și, desigur, index.php - punctul de intrare principală.

Mă grăbesc să spun că toate fișierele pe care le vom crea, trebuie să salvați în UTF-8.

Deci, să vedem care sunt setările de bază care avem nevoie, că codul de fișier config.php:

După cum vedeți, avem nevoie doar setările pentru conectarea la baza de date. Tu, desigur, se poate adăuga la acest fișier, sunt necesare date suplimentare pentru aplicația Web.

În continuare, să creați un nou fișier functions.php (salvați-l într-un dosar funcții) și creați-l în prima funcție de care se va efectua conexiunea la baza de date:

Acum, să creați fișierul index.php și adăugați prima linie de cod:

Concluzie niveluri meniuri cu un nivel de imbricare nelimitat

Cadrul YII2. Dezvoltarea rapidă a cadrelor moderne PHP

Explorați moderne subtilitățile cadru de dezvoltare web folosind YII2

Deci, în primul rând, vom trimite un antet cu codificare - antet funcție ( «Content-Type: text / html; charset = utf8" ). Apoi conectați fișierul două creat anterior: fișierul de configurare config.php și fișierul functions.php. În cele din urmă, noi numim funcția db () pentru a se conecta la serverul de baze de date. Acum, să verificăm în browser-ul pe care o avem. Dacă vedeți, în acest stadiu, nimic nu a adus, adică, nici un mesaj de eroare, atunci suntem pe drumul cel bun.

Pentru a afișa meniul multi-nivel, cu nici o limită la nivelul de nesting pe care doriți să utilizați recursivitate.

Recursivitatea - acest tratament funcții în sine, cu alte cuvinte, un apel de funcție în codul funcției în sine.

Această metodă pare a fi foarte bun, în primul rând, funcționează bine, și în al doilea rând, o implementare foarte frumos și scurt. Dar există un dezavantaj - se repetă referire la baza de date și executa interogări pe eșantion de date. Și nu e bine.

Deci, să creeze o funcție de fișier functions.php get_cat ():

Acum, să trecem în fișierul index.php, apelați această funcție:

Apelați get_cat funcția () și imediat imprima matrice rezultată a rezultat $, pentru a vă asigura că totul funcționează corect:

Concluzie niveluri meniuri cu un nivel de imbricare nelimitat

Deci, să deschideți fișierul functions.php și de a crea funcția view_cat (), care va afișa meniul de mai multe niveluri:

În cele din urmă, vom obține următorul ciclu, eticheta de închidere . La această funcție este terminată. Acum, să trecem la fișierul index.php și apelați această funcție:

Acum să trecem la browser-ul dvs. și să vedem ce avem:

Concluzie niveluri meniuri cu un nivel de imbricare nelimitat

Concluzie niveluri meniuri cu un nivel de imbricare nelimitat

Cadrul YII2. Dezvoltarea rapidă a cadrelor moderne PHP

Explorați moderne subtilitățile cadru de dezvoltare web folosind YII2

Cele mai multe știri IT si dezvoltare web pe canalul nostru-Telegram