ФорумПрограммированиеПыхнуть хотите?Готовые решения → PHP фреймворк by Soulgarden

PHP фреймворк by Soulgarden

  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 18 ноября 2010 г. 8:51, спустя 25 минут 12 секунд

    тот мой шаблонизатор настолько прост во время обычного вызова компилированого шаблона что не мог сказаться на скорости работы. вот вынужденная перекомпиляция если включена, то такой эффект возможен :-)
    Сапожник без сапог
  • rider-sx

    Сообщения: 2706 Репутация: N Группа: Адекваты

    Spritz 18 ноября 2010 г. 9:36, спустя 45 минут 35 секунд

    soulgarden, phpdude, вы верно шутите, я сказал что заменил код в контроллере на хелло ворлд => шаблонизатор не работает!
    Нет, уии ничего не кэширует.
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 18 ноября 2010 г. 9:40, спустя 3 минуты 11 секунд

    rider-sx, да это то понятно, не ссы создание
    Сапожник без сапог
  • soul

    Сообщения: 790 Репутация: N Группа: Кто попало

    Spritz 18 ноября 2010 г. 9:47, спустя 7 минут 40 секунд

    rider-sx, будем оптимизировать, оптимизировать и еще раз оптимизировать :)
  • rider-sx

    Сообщения: 2706 Репутация: N Группа: Адекваты

    Spritz 18 ноября 2010 г. 9:56, спустя 9 минут 1 секунду

    soulgarden, Эт прально ;)
  • soul

    Сообщения: 790 Репутация: N Группа: Кто попало

    Spritz 18 ноября 2010 г. 20:39, спустя 10 часов 42 минуты 32 секунды

    по поводу 1) Вижу закрывающий тэг ?>, оно там не надо

    я взглянул на различные фреймворки, действительно, там закрывающего тега нет. небольшое гугленье ничего не выявило, вроде бы была ветка форума, но поиск подводит. Итак, скажите, почему закрывающий тег не нужен? Я понимаю, допустим в подключаемом файле должно прокатывать, тк тег открыт в коде, который подключает файл, но почему во входном скрипте тег не закрывается, это мне никак не понятно
  • rider-sx

    Сообщения: 2706 Репутация: N Группа: Адекваты

    Spritz 18 ноября 2010 г. 20:42, спустя 2 минуты 45 секунд

    soulgarden, Если ты не мешаешь пхп с нтмл то пофиг есть там закрывающий тег или нет
  • soul

    Сообщения: 790 Репутация: N Группа: Кто попало

    Spritz 18 ноября 2010 г. 20:44, спустя 2 минуты 39 секунд


    soulgarden, Если ты не мешаешь пхп с нтмл то пофиг есть там закрывающий тег или нет


    офигеть, пишу пару лет на php и такого не знаю :)
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 18 ноября 2010 г. 20:57, спустя 13 минут 14 секунд

    ты можешь случайно вставить ентер или тп после закрывающей скобки и потом долго думать "чо за хуйня? почему не отдаются заголовки"
    Сапожник без сапог
  • rider-sx

    Сообщения: 2706 Репутация: N Группа: Адекваты

    Spritz 18 ноября 2010 г. 22:15, спустя 1 час 17 минут 49 секунд



    soulgarden, Если ты не мешаешь пхп с нтмл то пофиг есть там закрывающий тег или нет


    офигеть, пишу пару лет на php и такого не знаю :)
    :) я уже 4 года ;)
  • krasun

    Сообщения: 1370 Репутация: N Группа: Джедаи

    Spritz 19 ноября 2010 г. 1:32, спустя 3 часа 17 минут 16 секунд


    :) я уже 4 года ;)

    Это типа с 13 лет профессионально?
  • rider-sx

    Сообщения: 2706 Репутация: N Группа: Адекваты

    Spritz 19 ноября 2010 г. 15:09, спустя 13 часов 36 минут 14 секунд



    :) я уже 4 года ;)

    Это типа с 13 лет профессионально?
    Я не говорил что профессионально :) Я начал изучать пхп с 13 лет)
  • soul

    Сообщения: 790 Репутация: N Группа: Кто попало

    Spritz 20 ноября 2010 г. 0:44, спустя 9 часов 35 минут 11 секунд

    причиной маленькой скорости фв была автозагрузка, а именно функции glob, создание алиасов путям классов. так что все в порядке, тут кеширование проблему должно было решить
  • soul

    Сообщения: 790 Репутация: N Группа: Кто попало

    Spritz 20 ноября 2010 г. 14:40, спустя 13 часов 56 минут 30 секунд

    изменил класс ядра, пока выглядит вот так


    <?php
    spl_autoload_register(array('App','autoload'));

    class App {

    const version = '0.5';
    static protected $_environment = 'dev';
    protected $_name;
    protected $_config;
    static protected $_appClasses = array();
    static protected $_systemClasses = array('BaseException' => 'BaseException.php',
    'Config' => 'Config.php',
    'Controller' => 'Controller.php',
    'ControllerInterface' => 'ControllerInterface.php',
    'Cookies' => 'Cookies.php',
    'ForbiddenHttpException' => 'ForbiddenHttpException.php',
    'HttpException' => 'HttpException.php',
    'NativeSessions' => 'NativeSessions.php',
    'PhpConfig' => 'PhpConfig.php',
    'Router' => 'Router.php',
    'Request' => 'Request.php',
    'Sessions' => 'Sessions.php',
    'SessionsInterface' => 'SessionsInterface.php');

    public function __construct($environment = null, $confType = 'php') {
    $this->setEnvironment($environment);
    Config::setExtension($confType);
    $this->_config = Config::load($this->_environment);
    $this->_name = $this->_config['name'];
    $this->importClasses($this->_config['importClasses']);
    }

    static public function getVersion() {
    return self::version;
    }

    static public function getEnvironment() {
    return self::$_environment;
    }

    public function setEnvironment($environment) {
    if ($environment == 'prod') {
    $this->_environment = 'production';
    }
    else {
    $this->_environment = 'development';
    }
    }

    public function processRequest() {
    ob_start();
    $segments = Router::parseUrl();
    $request = new Request();
    echo $request->execute($segments);
    ob_end_flush();
    }

    public function importClasses(array $appClasses) {
    self::$_appClasses = array_merge(self::$_appClasses, $appClasses);
    }

    static public function autoload($className) {
    if (!empty(self::$_systemClasses[$className])) {
    require_once(SYSPATH.self::$_systemClasses[$className]);
    return true;
    }
    elseif(!empty(self::$_appClasses[$className])) {
    require_once(SYSPATH.self::$_appClasses[$className]);
    return true;
    }
    return false;
    }
    }


    а входно
    Спустя 59 сек.
    а входной скрипт

    <?php

    $app = 'application';
    $sys = 'system';

    define('APPATH', dirname(__FILE__).DIRECTORY_SEPARATOR.$app.DIRECTORY_SEPARATOR);
    define('SYSPATH', dirname(__FILE__).DIRECTORY_SEPARATOR.$sys.DIRECTORY_SEPARATOR);

    try {
    require_once(SYSPATH.'App.php');
    $app = new App();
    //$app->processRequest();
    }
    catch(Exception $e) {
    exit('<pre>'.$e.'</pre>');
    }

  • artoodetoo

    Сообщения: 5147 Репутация: N Группа: в ухо

    Spritz 23 ноября 2010 г. 5:27, спустя 2 дня 14 часов 46 минут

    в паре getEnvironment/setEnvironment одна static, а другая нет. где-то ошибка
    ιιlllιlllι унц-унц

Пожалуйста, авторизуйтесь, чтобы написать комментарий!