Javascript-форум (https://javascript.ru/forum/)
-   Оффтопик (https://javascript.ru/forum/offtopic/)
-   -   Какой серверный язык учить? (https://javascript.ru/forum/offtopic/29965-kakojj-servernyjj-yazyk-uchit.html)

DjDiablo 19.07.2012 16:45

На ассемблере всё смотрится круче чем на других языках :D
но на нём как то не очень активно пишут ))

Gozar 19.07.2012 17:34

Цитата:

Сообщение от DjDiablo
но на нём как то не очень активно пишут

Ты можешь это доказать?

B~Vladi 19.07.2012 17:37

Года 3 назад меня тут запинали за процедурный стиль кода. Ну тогда я был маленьким и глупым, ещё не просекал ООП.
Сейчас же я предпочитаю ООП. Мне так легче понимать/расширять код.

Если кто не в курсе, на хабре сейчас неделя ООП. Там эта тема разжевана со всех сторон.

По теме: NodeJS не язык. Но советую познакомиться с этой платформой. PHP отстой, попробуй Perl, Phyton, Ruby, Erlang.

Gozar 19.07.2012 17:54

Цитата:

Сообщение от B~Vladi
PHP отстой, попробуй Perl

:)

Я с перла начинал, вряд ли вернусь. Но и с PHP я собираюсь потихоньку расстаться.

Цитата:

Сообщение от B~Vladi
ещё не просекал ООП.
Сейчас же я предпочитаю ООП. Мне так легче понимать/расширять код.

Ты не понимал ООП PHP? Теперь ты его понимаешь и используешь? Речь идет не о абстрактном ООП.

DjDiablo 19.07.2012 17:54

Цитата:

Ты можешь это доказать?
А ты сомневаешся ??? :D :D :D
рейтинг популярности языков программирования

Gozar 19.07.2012 17:58

Цитата:

Сообщение от DjDiablo
А ты сомневаешся ???

В твоей табличке, да сомневаюсь.

Разговор ни о чем, мне надоело писать буквы. Спасибо что нарисовал для меня табличку.

DjDiablo 19.07.2012 18:12

табличка с хабра
я для тебя код нарисовал, специально выдумывал сидел задачу, интересную, практичную, и весёлую :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>";
    }   
}

B~Vladi 19.07.2012 18:48

Цитата:

Сообщение от Gozar
Ты не понимал ООП PHP? Теперь ты его понимаешь и используешь? Речь идет не о абстрактном ООП.

Ну я про JS говорил, в PHP я до сих пор нуб.

Gozar 19.07.2012 19:18

Цитата:

Сообщение от DjDiablo
пример вызова приложения
index.php?contr=test&cmd=index
результат
<ul> <li>меню 1</li> <li> меню 2</li> <ul>
bla bla это контент

Сокращу код пожалуй до этого, раз результат одинаковый.
<?php
echo '<ul> <li>меню 1</li> <li> меню 2</li> <ul>bla bla это контент';
?>


Зачем эти пируэты, если результат одинаковый?

B~Vladi 19.07.2012 20:20

Цитата:

Сообщение от Gozar
Зачем эти пируэты, если результат одинаковый?

А как же поддержка и расширяемость?


Часовой пояс GMT +3, время: 07:37.