Заключение диференцирана менюта с неограничен ниво на вместване

Заключение диференцирана менюта с неограничен ниво на вместване

Рамковата YII2. Бързото развитие на съвременни PHP рамки

Изследване на съвременните рамкови уеб програмиране тънкостите използващи YII2

1. Създаване на база данни.

Така че, тук е тази структура на таблицата (тя се нарича категории), ние трябва да се покаже, и съхранението на меню на данните на няколко нива:

Заключение диференцирана менюта с неограничен ниво на вместване

Сега, описание области на таблицата:

ID - ID на таблицата (както обикновено идентификатори auto_increment и първичен ключ)

Сега, след като е бил създаден на базата данни, да се създаде скрипт.

2. Основна настройка и свързване към базата данни.

Така че, нека да се определи структурата на файловете на бъдещата сценария. В този урок, ние ще се свържем с вас само да извлече уреда с меню на няколко нива, така че имаме нужда, тук е колекция от файлове и папки:

функции
- functions.php
config.php
index.php

Вижте папката функции съдържа един файл - functions.php, която ще опише всички функции, необходими за нормалната работа на скрипта. Освен това, във файла config.php, описваме всички основни настройки и разбира index.php - основна входна точка.

Бързам да кажа, че всички файлове, че ние ще се създаде, трябва да запазите в UTF-8.

Така че нека да видим какви са основните настройки от които се нуждаем, че кодът на config.php файл:

Както можете да видите, ние се нуждаем само настройките за свързване с базата данни. Вие, разбира се, може да добавите към този файл, са необходими допълнителни данни за вашия уеб приложение.

На следващо място, нека да се създаде нов functions.php файл (да го запишете в папка функции) и да го създаде в първата функция, която ще се извърши свързването към базата данни:

Сега нека създадем index.php файл и добавяне на първия ред на код:

Заключение диференцирана менюта с неограничен ниво на вместване

Рамковата YII2. Бързото развитие на съвременни PHP рамки

Изследване на съвременните рамкови уеб програмиране тънкостите използващи YII2

Така че, на първо място, ние изпращаме глава с кодиране - функция заглавна ( «Content-Type: текст / HTML; набор знаци = utf8"). След това свържете два създаден по-рано файл: config.php конфигурационния файл и functions.php файла. И накрая, ние наричаме функцията db (), за да се свържете към сървъра на базата данни. Сега, нека се провери в браузъра, която имаме. Ако видите, на този етап нищо не е донесъл, това е, няма съобщения за грешки, а след това ние сме на прав път.

За да се покаже менюто на няколко нива, без ограничение на нивото на вмъкване искате да използвате рекурсия.

Рекурсия - Това лечение функции към себе си, с други думи, извикване на функция в кода на самата функция.

Този метод изглежда е много добра, на първо място, тя работи добре, и второ, много красива и кратко изпълнение. Но има един недостатък - там се повтаря препратка към базата данни и да изпълни заявките на извадката от данни. И това не е добро.

Така че, нека създадем функция functions.php файла get_cat ():

Сега нека да влязат в index.php файла, обадете се на тази функция:

Обадете се на функция get_cat () и веднага отпечатва полученото масив от $ резултат, за да се уверите, че всичко работи правилно:

Заключение диференцирана менюта с неограничен ниво на вместване

Така че, нека да отворите functions.php файла и да се създаде функция view_cat (), който ще се появи меню на много нива:

И накрая, ние се получи следващия цикъл, затварящия маркер . В тази функция е завършен. Сега нека да преминем към файла index.php и се обадете на тази функция:

Сега нека да преминем към вашия браузър и да видим какво имаме:

Заключение диференцирана менюта с неограничен ниво на вместване

Заключение диференцирана менюта с неограничен ниво на вместване

Рамковата YII2. Бързото развитие на съвременни PHP рамки

Изследване на съвременните рамкови уеб програмиране тънкостите използващи YII2

Най-IT новини и уеб разработки на нашия канал Телеграма