ФорумПрограммированиеPHP для идиотов → declare и Трики

declare и Трики

  • Josh

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

    Spritz 12 июля 2012 г. 0:45

    ППц… ескпы в пхп уже около 9и лет. Наткнулся на это гавно. Как оно работает вообще? И нахрена нужно? Кто то вообще с этим работал?
    http://php.net/manual/ru/control-structures.declare.php
  • kostyl

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

    Spritz 12 июля 2012 г. 13:55, спустя 13 часов 10 минут 13 секунд

    Josh, я тоже не вдуплил пару лет назад чё это вообще за хуета
    Но вот отличный коммент
    Also note that PHP is run in a single thread and so everything it does will be one line of code at a time. I'm not aware of any true threading support in PHP, the closest you can get is to fork. So, declare tick doens't "multi-thread" at all, it is simply is a way to automaticaly call a function every n-lines of code.
  • Josh

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

    Spritz 16 июля 2012 г. 1:45, спустя 3 дня 11 часов 49 минут

    Мда… ересь какая то
  • AlexanderC

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

    Spritz 19 июля 2012 г. 4:26, спустя 3 дня 2 часа 41 минуту

    Ну вот допустим.


    register_tick_function(function(){
    if($this->getProperty('sys.cli.manage') == false){
    return;
    }
    // get and dump input
    $this->in()->readIn();
    // fire isset event
    if(true === $this->in()->is()){
    if($this->in()->read() == '\\exit'){
    $this->kill();
    } elseif(false !== strpos($this->in()->read(), '\\sys')){
    // execute an system command
    $command = str_replace('\\sys', '', $this->in()->read());
    system($command);
    $this->printMe();
    } else {
    $this->fireEvent('sys.sigin', $this->in()->read());
    $this->printMe();
    }
    }
    }, true);

    //………

    <?php

    /*
    * @author AlexanderC
    */
    set_time_limit(0);

    declare(ticks = 7){
    while(!defined('_selfkill_'));
    exit(0);
    }
  • Josh

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

    Spritz 23 июля 2012 г. 0:47, спустя 3 дня 20 часов 20 минут

    Ну вот допустим.
    И?
  • AlexanderC

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

    Spritz 23 июля 2012 г. 5:42, спустя 4 часа 55 минут 47 секунд

    Ну и замыкание будет выполняться раз в Н итераций и будет считывать входные данные из консоли пока не будет дан сигнал стоп методом декларирования клнстанты. Удобно при работе в консоли в неблокируюшхем режиме, можно имплиментировать разные фичи типа автодополнение, история комманд итд во время выполнения скрипта(interactive shell).
  • Josh

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

    Spritz 24 июля 2012 г. 1:25, спустя 19 часов 42 минуты 12 секунд

    AlexanderC, Всё равно ересь xD

    пойду пхп для чайников почитаю
  • AlexanderC

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

    Spritz 24 июля 2012 г. 1:56, спустя 31 минуту 54 секунды

    aha, ;D…. Ересь, согласен, мо для лолз самое то… можно даже игры консольные писать ;Д

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