На ассемблере всё смотрится круче чем на других языках :D
но на нём как то не очень активно пишут )) |
Цитата:
|
Года 3 назад меня тут запинали за процедурный стиль кода. Ну тогда я был маленьким и глупым, ещё не просекал ООП.
Сейчас же я предпочитаю ООП. Мне так легче понимать/расширять код. Если кто не в курсе, на хабре сейчас неделя ООП. Там эта тема разжевана со всех сторон. По теме: NodeJS не язык. Но советую познакомиться с этой платформой. PHP отстой, попробуй Perl, Phyton, Ruby, Erlang. |
Цитата:
Я с перла начинал, вряд ли вернусь. Но и с PHP я собираюсь потихоньку расстаться. Цитата:
|
Цитата:
рейтинг популярности языков программирования ![]() |
Цитата:
Разговор ни о чем, мне надоело писать буквы. Спасибо что нарисовал для меня табличку. |
табличка с хабра
я для тебя код нарисовал, специально выдумывал сидел задачу, интересную, практичную, и весёлую :D Хватит языком трепать, покажи свой процедурный стиль в деле. предлагаю реализовать несложную архитектурную задачу. Ну к примеру архитектурный паттерн HMVC. Кто не в курсе это когда один контролёр может вызвать функцию другого контролёра. Профит офигенный, от этого решения. Достаточно реализиции одних контролёров, хотя бы на псевдокоде. пример вызова приложения index.php?contr=test&cmd=index результат <ul> <li>меню 1</li> <li> меню 2</li> <ul> bla bla это контент код ядра
//фабрика контролёров, возвращает экземпляры контролёров
// при создании экземпляра проверяются права доступа
class manager{
static function getComponent($name){
requere ("controller/".$name.php");
$n="controller".$name;
$result=new $name;
if ($result->rights()) return $result;
else die ("доступ закрыт");
}
}
// базовый класс всех контролёров
class controller{
public function init(){
}
public function rights($usr){
return true;
}
}
//базовый класс приложения, инкапсулирует в себе настройки, глобальные переменные приложения, и базовый функционал
class Capp{
function Capp(){
//здесь приложение инициализруется, грузит конфиги и занимается прочей фигнёй
}
public function go(){
// фабрика вернёт экземпляр контролёра
$cmp=manager::getComponent($_GET['contr']);
// это типо события, я инициализирован
$cmp->init();
//вызовем метод контролёра
$cmd="cmd_".$_GET['cmd'];
$cmp->$cmd();
}
}
$app=new Capp();
$app->go();
первый контролёр controller/Test
class controllerTest extends controller{
function cmd_index(){
$cmp=manager::getComponent("menu");
$result=$cmp->cmd_menu();
$result.="bla bla это контент";
echo $result;
}
}
второй контролёр controller/Menu
class controllerMenu extends controller{
function cmd_index(){
echo "hello";
}
function cmd_menu(){
return "<ul> <li>меню 1</li> <li> меню 2</li> <ul>";
}
}
|
Цитата:
|
Цитата:
<?php echo '<ul> <li>меню 1</li> <li> меню 2</li> <ul>bla bla это контент'; ?> Зачем эти пируэты, если результат одинаковый? |
Цитата:
|
| Часовой пояс GMT +3, время: 11:00. |