Ответы пользователя по тегу PHP
  • Считается ли плохой практикой выражения в значениях массива?

    Marcuzy
    @Marcuzy
    php разработчик
    По-моему, все варианты приемлемы, но каждый по ситуации:
    1. Если выражение длинное и сложное
    2. Выражение короткое и простое
    3. Если нужно произвести ленивое вычисление.

    Также важно наличие других ключей.
    Ответ написан
    Комментировать
  • Где лучше проверять входные данные, в контроллере или в модели?

    Marcuzy
    @Marcuzy
    php разработчик
    В модели, а логика простая: модель может использоваться во многих местах.
    Ответ написан
    Комментировать
  • Как PHPStorm научить видеть методы?

    Marcuzy
    @Marcuzy
    php разработчик
    /**
         * @param string $class
         * @return MyClass
         */
        public function load($class) {
            return new $class;
        }
    Ответ написан
    Комментировать
  • Глупый вопрос про абстрактные классы?

    Marcuzy
    @Marcuzy
    php разработчик
    Если родительский класс выглядит как-то так:
    abstract class Parent
    {
        protected $connection = null;
        public function __construct()
        {
            $this->connection = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
        }
    }

    Т.е. подключение не глобальное, то получите 100 подключений
    Ответ написан
    Комментировать
  • Как сделать ЧПУ на сайте?

    Marcuzy
    @Marcuzy
    php разработчик
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . index.php

    1. Убедитесь, что включен модуль апача rewrite
    2. Благодаря этому примеру .htaccess файла все запросы будут выглядеть как index.php/request
    3. Как в пхп вытащить ту часть, что после индекс.пхп php.net/manual/ru/reserved.variables.server.php (PATH_INFO)

    4. Также нужно убедиться, что файлы .htaccess разрешены в директории сайта, нужно воткнуть, например, в конфиге хоста:
      <Directory /var/www/domain/web/>
       Options Indexes FollowSymLinks
       AllowOverride All
       Require all granted
      </Directory>


    Ответ написан
    1 комментарий
  • Статические свойства класса в PHP?

    Marcuzy
    @Marcuzy
    php разработчик
    Когда сущность нужна только в одном экземпляре какой смысл создавать объект?
    Очень простой пример - хелперы (Array Helper). Просто подключаешь хелпер и получаешь набор функций, объединенных общей целью в одной сущности - это улучшает семантику кода + плюшки ооп, например наследование.

    Приватные свойства - вполне вминяемая фитча, что вас смущает? Если в классе есть служебные статические методы и атрибуты, которые должны быть доступны только из других статических методов этого класса, та же петрушка, что и с обычыми методами/атрибутами.

    Еще одно полезное применение статических методов - это паттерн "Фабричный метод".
    Ответ написан
    Комментировать