Вы не зашли.
    
    Главная » 
PHP » Яндекс нахваливает python. На самом деле от так хорош?
 
        
        
                        
                        #1.
            TLENS
                                                Off
                
                                                    (14)
                                                            
                        Moderator
                        2014.07.31 12:12
                                                
                                                        
 
                Наверное каждый слышал что яндекс нахваливает python. Например это видео 
Какой язык больше по душе программистам.
У меня частая проблема в скорости разработки. Лень, нехватка времени, трудности с проектировкой и т.п.
Сам пока что даже не брался за этот яп. Мне интересно стоит вообще заморачиватся и тратить время на изучения питона. Или лучше это время потратить на более глубокое освоение уже известного мне языка?
        
        
                
    
 
        
        
                смотря с какой целью тебе это нужно. для веба таки лучше php 
        
        
                
     
        
        
                        
                        #3.
            TLENS
                                                Off
                
                                                    (14)
                                                            
                        Moderator
                        2014.07.31 19:07
                                                
                                                        
 
                Gemorroj написал:смотря с какой целью тебе это нужно. для веба таки лучше php 

 А можно узнать причину чем лучше? В скорости реакции, устойчивости или может быть вопрос в функциональности?
        
        
                
    
 
        
        
                вопрос в инфраструктуре. куча написанного кода. + с появлением php 5.3 появились серьезные инструменты типа composer, symfony2 и проч, которые позволяют языку заявлять о себе как о серьезном инструменте, а не языке для домашних страничек.
        
        
                
    
 
        
        
                        
                        #5.
            TLENS
                                                Off
                
                                                    (14)
                                                            
                        Moderator
                        2014.08.12 19:07
                                                
                                                        
 
                Gemorroj написал:
вопрос в инфраструктуре. куча написанного кода. + с появлением php 5.3 появились серьезные инструменты типа composer, symfony2 и проч, которые позволяют языку заявлять о себе как о серьезном инструменте, а не языке для домашних страничек.
Взялся таки за симфони и ты знаешь в нем присутствует очень многое что я изобретал. Например у меня базовый класс Page от него наследуется HTML от этого уже такие как Error, Home и т.д Page имеетс свойства как статус, тип контента, тело и т.д. Вижу в симфони все аналогично и более развито Symfony\Component\HttpFoundation\Response
Так же разработан у меня класс Request где обрабатывается/выравнивается (для сео) запрос. добавлено в него много фишек например очень полезная firstDir,lastDir, secondDir, thirdDir так же есть часть того что уже реализовано в этом же симфони. Все таки изучение сифони будет быстрее чем изобретения подобных велосипедов.
Так же реализованые в ручную логи, базы и т.д.
Думаю отрефакторить некоторые классы и наследовать от симфони.
Так же организована интересная архитектура движка для подгрузки классов/модулей:
start.php
Код:
| span style="color: #0000BB"><?php// replace four spaces to tabulation in result pageob_start(function($page) {    $page = preg_replace('/ {4}/', "\t", $page);    return $page;});// start buffering for delete trashob_start();// load classes and modulesspl_autoload_register(function ($className) {    $path = __DIR__ . '/';        // is there namespaces    $splitName = explode('\\', $className);    // is namespaces    if (($c = sizeof($splitName)) > 1) {        $path .= '_MODULES/';        // recursive recess to path        for ($i = 0, $r = $c-1; $i < $r; $i++) {            if ($splitName[$i])                $path .= $splitName[$i] . '/';         }        $path .= $splitName[$r] . '.php';    } else        // not nramespaces        $path .= "_DEF_CLASSES/$className.php";    include_once $path;});/*set_include_path(get_include_path()    .PATH_SEPARATOR.__DIR__.'/../_SYSTEM_FUNC');include_once 'functions.php';*/const CHARSET = "UTF-8";mb_internal_encoding(CHARSET); | 
 
        
        
                
     
        
        
                еще посмотри на бандлы для симфони. стороннего кода тоже написано много, при чем иногда очень интересного.
Добавлено спустя   1 минуту  15 секунд: а смысла в твоем start.php не много, учитывая, что сейчас есть psr-0 и psr-4, реализованные в composer 
        
        
                
     
        
        
                        
                        #7.
            tipsun
                                                Off
                
                                                    (19)
                                                            
                        Moderator
                        2014.08.14 05:05
                                                
                                                        
 
                TLENS, извиняюсь за возможно глупый вопрос: А зачем контролировать namespace. Вроде как PHP сам их находит, не?
        
        
                
    
 
        
        
                        
                        #8.
            TLENS
                                                Off
                
                                                    (14)
                                                            
                        Moderator
                        2014.08.14 05:05
                                                
                                                        
 
                tipsun написал:
TLENS, извиняюсь за возможно глупый вопрос: А зачем контролировать namespace. Вроде как PHP сам их находит, не?
Не понял о чем ты.
А в общем у меня неймспейсы используют модули различные и производится поиск с папки модулей. Если просто объявлен класс тогда он берется из системной папки. Мне по крайней мере так удобнее. Отделил классы движка от классов модулей.
Сам старт инклюдится в файл разруливатель. И это единственный инклюд. Ах да ну инклюдится еще файл функций.
        
        
                
    
 
        
        
                        
                        #9.
            tipsun
                                                Off
                
                                                    (19)
                                                            
                        Moderator
                        2014.08.14 09:09
                                                
                                                        
 
                Я вот понимаю если без неймспейса, то искать там то. А вот с неймспейсом зачем так делать, я не понимаю. Наверно я ошибаюсь, но вроде как инклуд $classNameWithNamespace уже сам знает по namespace в какой папке лежит класс. Только начало ему (лоадеру то бишь инклуду) надо показать, что ты и так сделал.
Код:
| span style="color: #0000BB"><?php//// Подача имени класса (с неймспейсом?)spl_autoload_register(function ($className) {    $path = __DIR__ . '/'; //// Указываем корень        // is there namespaces    //// Разбивка на папки, чтоб найти класс (с "\").    $splitName = explode('\\', $className);    // is namespaces    if (($c = sizeof($splitName)) > 1) {        $path .= '_MODULES/'; //// Указываем "библиотеку"        // recursive recess to path        for ($i = 0, $r = $c-1; $i < $r; $i++) {            if ($splitName[$i])                $path .= $splitName[$i] . '/';         }        $path .= $splitName[$r] . '.php';    } else        // not nramespaces        $path .= "_DEF_CLASSES/$className.php"; //// Указываем другую "библиотеку"    include_once $path; //// Инклуд пути, просто (с "/").}); | 
.
Т.е. должно и так работать, не?:
Код:
| span style="color: #0000BB"><?phpspl_autoload_register(function ($className) {    $path = __DIR__ . '/';    if (false != strpos($className, '\\')) {        $path .= '_MODULES/';    } else {        $path .= '_DEF_CLASSES/';    }    include_once $path . $className . '.php';}); | 
 
        
        
                
     
        
        
                        
                        #10.
            TLENS
                                                Off
                
                                                    (14)
                                                            
                        Moderator
                        2014.08.14 18:06
                                                
                                                        
 
                tipsun Я понял о чем ты. Не знал. Иногда нужно заглядывать на маны 
        
        
                
     
Страниц: 1