coub css express.js freeware git jquery laravel links linux macos mysql node.js php PostgreSQL python task1 ubuntu vim virtualbox анекдот игры интересно музыка стихи цитаты

Not so hard, than you can imagine. I've spent some time and prepared working solution right here. Have a nice day!
linux laravel

Сегодня состоялся долгожданный релиз Laravel 5.1
Jeffrey Way уже постарался для нас и сделал целую серию бесплатных скринкастов.
Всем artisan-ам к просмотру обязательно.

laravel

Стандартный механизм настройки окружения описан тут. Простой он как двери в милиции, опирается на ответ gethostname() и выглядит вот так
$env = $app->detectEnvironment([
  'env-one-name' => array('hostname1.local'),
  'env-two-name' => array('hostname2')
]);
Все удобно, понятно. Одно "но" заключается в том, что на одном хосте при таких условиях два окружения не потестируешь. Решение я предлагаю такое
$env = $app->detectEnvironment(function(){

  // by path
  if (stristr(__DIR__, 'demo-env-folder-name')) {
    return 'demo';
  }

  // by hostname
  $hostname = gethostname();

  switch ($hostname) {
    case "hostname1.local":
      return 'env-one-name';
    break;

    case "hostname2":
      return 'env-two-name';
    break;

    default:
      return 'production';
    break;
  }
});
Таким образом будем в текущем пути искать название папки для выбранного окружения, то есть для папки /the/path/to/project/demo-env-folder-name будет включено окружение demo, а для других папок будет использоваться определение по хосту, то есть оригинальное. Конечно, есть определенная опасность словить не то окружение после переноса проекта третьими гражданами (которые не в курсе таких поворотов сюжета), но оповещение коллег о таких вещах я считаю должно быть на совести разработчиков. Да и поправить если что легко.
laravel


Как-то я пропустил что Джефри опять забабахал кучу халявных скринкастов.
Тем кто собирается иметь дело с L5 - к просмотру обязательно, очень стоящие скринкасты.
laravel

Натолкнулся на интересный вопрос. Проект большой, контроллеров много становится, захотелось как-то структурировать их чтобы не искать каждый раз. Красноглазие же развивается от этого. Натолкнулся на тему с namespace-ами для групп роутов, да, все работает, но надо изрядно перепиливать все вызовы фасадов, размечать неймспейсы.. короче рутинной возни ненужной куча. Если просто попробовать впилить папку в роут в стиле
Route::post('/lala-page', ['as' => 'lalala', 'uses' => 'subfolder/LalaController@myfinc']);
То оно мало того что выглядит убого так ещё и не работает. А решение было элементарнейшее: перестроить карту классов композером. То есть просто создаем все свои папки где будут жить контроллеры, раскладываем туда контроллеры
app/controllers
app/controllers/my
app/controllers/admin
...
В самих контроллерах ничего не меняем. Просто перестраиваем автозагрузку (из папки проекта разумеется)
composer dump-autoload
И вуаля, все вложенные контроллеры заработали. Мне бы такие инструменты лет 10 назад.. Ну пять хотя-бы :)
REM: см. git diff vendor/composer/autoload_classmap.php
laravel

Want this blog? Checkout that  here