[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Отрисовка меню
Страницы: 1, 2
killer8080
Цитата (J1upuk @ 22.08.2015 - 19:52)
Какой вариант будет более правильным,

Любой, нет между ними большой разницы. Первый выглядет проще, потому предпочтительнее. Что касается расширяемости, проблемы нужно решать по мере их поступления., нельзя наперед предвидеть всё и вся. Может оказаться так, что в будущем вообще нужно будет сменить всю архитектуру, и ни один из них не подойдёт, а если понадобится, отрефакторить первый вариант во второй займет примерно столько же времени, как и дописать новые атрибуты в массив, ну может на минуту больше. Так стоит из-за этого парится сейчас, прорабатывая варианты которые возможно будут в будущем, а может и нет? wink.gif
Razzwan
Цитата (dron4ik @ 26.08.2015 - 15:19)
Razzwan
echo Widget::menu([
  'items'=>[
        ['lable'=>'Главная', 'url'=>['/index'],
        ['lable'=>'О компании', 'url'=>['/about'],
        ['lable'=>'Таблица умножения', 'url'=>['/table'],
        ['lable'=>'Калькулятор', 'url'=>['/calc'],
  ],
]);


а этот кусок кода будет работать?

А откуда взялись сомнения? Будет, конечно, если будет объявлен предыдущий блок.

_____________
Youtube канал WebDeveloper->Run()
Сайт для души
Gitter
dron4ik
icedfox
уверен?))) Запусти)

_____________
Ex3m.com.ua — Активный образ жизни
icedfox
Цитата (dron4ik @ 27.08.2015 - 18:54)
icedfox
уверен?))) Запусти)

Блин, ну собрал Razzwan массив коряво, неужели рук нету поправить ?
class Widget {
static public function menu($array) {
foreach($array as $item)
{
$html .= '<li><a href="' . $item['url']. '">' . $item['lable'] . '</a></li>';
}
return '<ul>' . $html . '</ul>';
}
}


echo Widget::menu(
[
[
'lable'=>'Главная', 'url'=>'/index'],
[
'lable'=>'О компании', 'url'=>'/about'],
[
'lable'=>'Таблица умножения', 'url'=>'/table'],
[
'lable'=>'Калькулятор', 'url'=>'/calc'],
]
);
Razzwan
Цитата (icedfox @ 27.08.2015 - 18:51)
Блин, ну собрал Razzwan массив коряво, неужели рук нету поправить ?

Что значит коряво? Я сам принцип описал. Код и последний будет поругиваться. Вот такой работает:

class Widget
{
static public function menu($array)
{
$html = '';
foreach($array['items'] as $item)
{
$html .= '<li><a href="' . $item['url'][0]. '">' . $item['lable'] . '</a></li>';
}
return '<ul>' . $html . '</ul>';
}
}


echo Widget::menu([
'items'=>[
[
'lable'=>'Главная', 'url'=>['/index']],
[
'lable'=>'О компании', 'url'=>['/about']],
[
'lable'=>'Таблица умножения', 'url'=>['/table']],
[
'lable'=>'Калькулятор', 'url'=>['/calc']],
],
]);


_____________
Youtube канал WebDeveloper->Run()
Сайт для души
Gitter
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.