Задать вопрос
  • Конфигурация проекта: где и как лучше хранить?

    ipatiev
    @ipatiev Куратор тега PHP
    Потомок старинного рода Ипатьевых-Колотитьевых
    Самый простой, надёжный и удобный способ хранить настройки - это пхп файл.

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

    Отличие будет только в заведении в гит. Постоянные настройки заводим, зависящие от окружения - нет. Чтобы не потеряться, в последнем случае в гит кладём пустышку, чтобы понимать, какие настройки вообще заполняем

    return [
          'db' => [
              'host' => '127.0.0.1',
              'username' => '',
              'password' => '',
              'dbname' => '',
              'port' => 3306,
          ],
      ];


    И в коде что-то вроде такого
    if (!file_exists('config.php'))
      {
          throw new \Exception('Create config.php based on config.sample.php');
      }
      $config = require 'config.php';


    Если говорить про .env, и не обращать внимание на вышеуказанные недостатки, то у него есть одно достоинство - множество способов задания переменных. В конфиге веб-сервера, в конфиге юзера, вручную, через файл, и.т.д.
    Ответ написан
    Комментировать
  • Как из статического метода вызвать нестатические методы или свойства?

    @AnjeyTsibylskij
    Как вариант

    class Dream
    {
        private $mydream;
        private $findDream;
    	
    	private static $self = null;
    	
    	public static function _self()
    	{
    		if(is_null(self::$self)) {
    			self::$self = new self;
    		}
    		
    		return self::$self;
    	}
    	
        public static function whichDream()
        {
    		return self::_self()->findDream();
        }
        
    	public function findDream()
        {
           echo 'Test';
        }
    }
    
    Dream::whichDream();
    Ответ написан
    Комментировать
  • Можно ли как-то перетащить определенные файлы в другой (физически) сектор диска?

    darkslesh
    @darkslesh
    Как вариант сделать следующее:
    1) скопировать нужный файл под другим именем
    2) удалить предыдущий файл
    3) новому файлу дать имя предыдущего.
    Таким образом ты получишь тот же файл, но он будет располагаться в других секторах(кластерах)
    Ответ написан
    3 комментария