Вы не зашли.
Главная » PHP » Яндекс нахваливает python. На самом деле от так хорош?
#1. TLENS Off (14)
Moderator
2014.07.31 16:04
Наверное каждый слышал что яндекс нахваливает python. Например это видео Какой язык больше по душе программистам.
У меня частая проблема в скорости разработки. Лень, нехватка времени, трудности с проектировкой и т.п.
Сам пока что даже не брался за этот яп. Мне интересно стоит вообще заморачиватся и тратить время на изучения питона. Или лучше это время потратить на более глубокое освоение уже известного мне языка?
#2. Gemorroj Off (107)
Administrator
2014.07.31 20:08
смотря с какой целью тебе это нужно. для веба таки лучше php smile
#3. TLENS Off (14)
Moderator
2014.07.31 23:11
Gemorroj написал:
смотря с какой целью тебе это нужно. для веба таки лучше php smile
А можно узнать причину чем лучше? В скорости реакции, устойчивости или может быть вопрос в функциональности?
#4. Gemorroj Off (107)
Administrator
2014.07.31 23:11
вопрос в инфраструктуре. куча написанного кода. + с появлением php 5.3 появились серьезные инструменты типа composer, symfony2 и проч, которые позволяют языку заявлять о себе как о серьезном инструменте, а не языке для домашних страничек.
#5. TLENS Off (14)
Moderator
2014.08.12 23:11
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);
#6. Gemorroj Off (107)
Administrator
2014.08.13 10:10
еще посмотри на бандлы для симфони. стороннего кода тоже написано много, при чем иногда очень интересного.
Добавлено спустя   1 минуту  15 секунд:
а смысла в твоем start.php не много, учитывая, что сейчас есть psr-0 и psr-4, реализованные в composer wink
#7. tipsun Off (19)
Moderator
2014.08.14 09:09
TLENS, извиняюсь за возможно глупый вопрос: А зачем контролировать namespace. Вроде как PHP сам их находит, не?
#8. TLENS Off (14)
Moderator
2014.08.14 09:09
tipsun написал:
TLENS, извиняюсь за возможно глупый вопрос: А зачем контролировать namespace. Вроде как PHP сам их находит, не?
Не понял о чем ты.
А в общем у меня неймспейсы используют модули различные и производится поиск с папки модулей. Если просто объявлен класс тогда он берется из системной папки. Мне по крайней мере так удобнее. Отделил классы движка от классов модулей.
Сам старт инклюдится в файл разруливатель. И это единственный инклюд. Ах да ну инклюдится еще файл функций.
#9. tipsun Off (19)
Moderator
2014.08.14 13:01
Я вот понимаю если без неймспейса, то искать там то. А вот с неймспейсом зачем так делать, я не понимаю. Наверно я ошибаюсь, но вроде как инклуд $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 22:10
tipsun Я понял о чем ты. Не знал. Иногда нужно заглядывать на маны smile
Страниц: 1
Главная
WEB
PunBB Mod v0.6.2
0.021 s