• Как установить composer и как им пользоваться под windows?

    K-2
    @K-2 Автор вопроса
    Постараюсь подвести первые итоги.

    Composer можно пользоваться в 2х вариантах.
    Глобально(установив программу) и Локально(ничего не устонавливая)
    И тот и тот способы работают только из командной строки. (Пуск->Стандартные->Командная строка)
    Для того чтобы что-то скопировать в командную строку ctrl+v не работает! Пользуемся правой кнопкой мышки->вставить

    ЛОКАЛЬНО пошагово
    1. Создаем папку, в которой будет проект на компьютере.
    2. В Командной строке пишем команду cd и путь к папке с проектом:
    cd C:\xampp\htdocs\test_composer
    3. Т.к. программа не установлена, нужен загрузочный файл(мини-программа composer), для его загрузки в Командной строке пишем команду:
    php -r "readfile('https://getcomposer.org/installer');" | php
    теперь в директории появился загрузочный файл
    4. Запускаем команду загрузки фреймворка(у каждого свой), в Командной строке пишем:
    php composer.phar require silex/silex ~1.1 (для фреймворка silex)

    В Командной строке, команды запускаются по разному при локальной и глобальной загрузках:
    Локально: php composer.phar require silex/silex ~1.1
    Глобально: composer require silex/silex ~1.1
    php composer.phar меняется на composer
    Еще при локальной загрузке нужно каждый раз закачивать установочный файл(это не сложно и описано в шаге 3):php -r "readfile('https://getcomposer.org/installer');" | php
    При глобальной загрузке этот файл не нужен.

    ГЛОБАЛЬНО пошагово
    1. Скачиваем программу composer https://getcomposer.org/Composer-Setup.exe
    2. Запускаем. При запросе файла php указываем путь к локальному хостингу -> папку php
    3. Теперь делаем все тоже самое что и при локальной загрузке, но пропускаем шаг 3, и изменяем запросы из Командной строки(вместо php composer.phar пишем composer). Пример:
    было так: php composer.phar require silex/silex ~1.1
    стало так: composer require silex/silex ~1.1

    О других отличиях между глобальной и локальной загрузками пока-что тут ничего не ответили!
    Ответ написан
    1 комментарий
  • Чем отличается junior от middle? а Senior?

    вы все знаете — Junior
    вы поняли что ничего не знаете — Mid
    вам все равно — Senior

    habrahabr.ru/post/231649/#comment_7826819
    Ответ написан
    2 комментария
  • Как решить проблему с ооп сеттер?

    @m-haritonov
    Необходимо исправить код либо на вариант, предложенный @victorvsk, либо на такой вариант:
    class sys{
      static public $log = "<br />";
    
        static function log($newval)
        {static::$log.=$newval."<br />";}
    
        static function getlog()
        { return static::$log . "<br />";}
    }
    
    sys::log("установка");
    sys::getlog();


    Статические переменные и методы — это методы и переменные класса, а не объекта, поэтому обращение к ним происходит либо через имя класса (sys::$log), либо через ключевое слово self (self::$log; если происходит обращение к члену класса из самого класса), либо через ключевое слово static (static::$log; отличается от "self" лишь тем, что преобразуется в имя класса на стадии исполнения скрипта и потому подходит для использования при вызове метода из дочернего класса). Можно обращаться из методов объекта к статическим членам класса, но не наоборот (т.к. у объекта один класс и он известен объекту, а у класса может быть либо много объектов либо вообще ни одного).
    Ответ написан
    Комментировать
  • Как решить проблему с ооп сеттер?

    если хотите использовать статику, замените
    $this->log
    на
    self::$log
    Ответ написан
    Комментировать
  • Как решить проблему с ооп сеттер?

    viktorvsk
    @viktorvsk
    Насколько я понимаю, статические функции не создают экземпляра объекта, поэтому они не могут иметь $this

    Могу сильно ошибаться

    Поидеи, должно быть

    class sys{
        public $log = "<br />";
    
        public function log($newval)
        {$this->log.=$newval."<br />";}
    
        public function getlog()
        { return $this->log . "<br />";}
    }
    $sys = new sys;
    
    $sys->log("установка");
    $sys->getlog();
    var_dump($sys);
    Ответ написан
    Комментировать