Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#826 Lumen » алиасы в люмене » 08.12.2015 15:46:44

hzone
Ответов: 0

Простой пример

class_alias(Illuminate\Support\Facades\URL::class,   'URL');
class_alias(Illuminate\Support\Facades\Input::class, 'Input');
class_alias(Illuminate\Support\Facades\View::class,  'View');

прошу обратить внимание, что люмен обрезан по самые уши.
мыльницы там по умолчанию нет.

class_alias(Illuminate\Contracts\Mail\Mailer::class,  'Mailer');
class_alias(Illuminate\Contracts\Mail\MailQueue::class,  'MailQueue');

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

#827 Lumen » [dev-разработка] , не для production - автоочистка от view-cache » 08.12.2015 15:44:36

hzone
Ответов: 0

На базе Middleware

Что требует включения Middleware в /bootstrap/app.php

/app/Http/Middleware/ClearViewCacheMiddleware.php

<?php

namespace App\Http\Middleware;

use Closure;
//use Laravel\Lumen\Application;

class ClearViewCacheMiddleware
{
	protected $app;
//	public function __construct(Application $app)
//	{
//		$this->app = $app;
//	}
	public function handle($request, Closure $next)
	{
		$cachedViewsDirectory=storage_path().'/framework/views/';
		$files = glob($cachedViewsDirectory.'*');
		foreach($files as $file) {
			if(is_file($file)) {
				unlink($file);
			}
		}
		
		
		return $next($request);
	}
}

/bootstrap/app.php

$app->middleware([
    ....
    Laravel\Lumen\Http\Middleware\VerifyCsrfToken::class,

#828 Lumen » [script] Не совсем в тему, - скрипт для авто-push в git » 08.12.2015 15:40:07

hzone
Ответов: 1

LINUX ONLY
uses whiptail or dialog or xdialog

то есть скрипт позволит автоматизировать pull-status-add-commit-push от консоли в несколько селектов и энтер.
при потоковой разработке множества приложений/репозиториев очень спасает от ввода руками одного и того же.

лицензия MIT

https://github.com/h-zone/git-auto-push-bash-script
Прошу любить и жаловать.

#829 Lumen » [package] cleanup-commands » 08.12.2015 15:30:33

hzone
Ответов: 1

К сожалению в люмене консолька обрезана по самые уши...
И Я набросал небольшой пакаж для люмена (работает и в ларе)
Занимается убиение скомпилированных шаблонов и логов, используя artisan.

пример использования

php artisan cleanup-commands:logs
php artisan cleanup-commands:view-cache

Инструкция по установке и код здесь:
https://github.com/h-zone/lumen-cleanup-commands
прошу любить и жаловать.

#830 Re: Lumen » [2adm] Люмен / Lumen » 08.12.2015 15:26:15

я пока набросаю в раздел мелочей.
возможно соберётся на статью для начинающих.

#831 Lumen » Конфигурационные файлы или Как подключить свой конфиг » 08.12.2015 15:25:12

hzone
Ответов: 0

Как подключить свой конфиг

/config/myconfig.php

<?php
return [
    'myopt' => 42
];

/bootstrap/app.php

$app->configure('myconfig');

доступ к данным:

config('myconfig.myopt');

#832 Re: Lumen » [2adm] Люмен / Lumen » 08.12.2015 15:21:58

каким образом? тут накидать текстом или тебе в лс или на самом сейте ? (я не смотрел на морду, привычка:))

#833 Прочее » Частые проблемы программеров на ларе :) - из наблюдений за темами » 08.12.2015 15:20:56

hzone
Ответов: 6

1. понимают чего хотят, - не могут это "обозвать"
1.1 следовательно не могут найти в инете необходимое решение, так как для правильного ответа необходим правильный вопрос.

2. использование прямых запросов к бд ( DB::table() ) без использования орм ( User::find() )
2.1 как следствие, - всё равно скатываются к орм
2.2 как следствие, - всё равно не знают как построить запрос к бд для получения данных
3. не понимают принципов реляций
3.1 как следствие, не понимают как создать правильную архитектуру, чем её создать и как её описать (обернуть) орм-моделями.

4. не пытаются досканально разобраться с архитектурой лары, задавая постоянно одни и те же вопросы.

знакомо?

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

+популярность ресурса
+сквозной индекс цитирования
+проблемы с решениями

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

PS:
основные проблемы - ORM + Query builder + мультисайтовость (масштабируемость движка) + "мультиязность".

#834 Re: Laravel 5.x » Есть ли в наличии русифицированные файлы validation.php? » 08.12.2015 15:05:37

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

#836 Re: Laravel 5.x » Не выводить похожии записи » 08.12.2015 15:02:00

мдя...
1. Программер, ты на 1 лярд записей свою идею попробуй.
2. Акул
группировки в таких конструкциях хоть и работают, но жрут больше

а) попробуй для начала к пхпАдмине построить необходимый запрос (напрямую в бд) и получить правильный ответ.
б) используй к своему запросу select префикс explain select - посмотри, как глубоко дёргается база, сколько времени и ресурсов жрёт твой запрос.
в) получив ответ строй ОРМ модели НЕ используя DB обвязку - работай от моделей -- всё кошерно работает, хоть и документирован ОРМ лары всего на 10%.

и на последок:
топикстартер плохо изложил условия.
исходя из вводных предлагаю поиграть с SELECT DISTINCT compilation WHERE compilation BETWEEN 1000 AND 10000

#837 Re: Laravel 5.x » Количество связанных данных одним запросом » 08.12.2015 14:55:33

И в последнюю очередь - если пишешь используя ORM, то старайся не скатываться к DB::
Вообще.

Используй Модель, как несущую таблицу, а дальше только от неё по связям.

Я тоже год назад думал что орм хреново построено, - ан нет. просто хреново документировано.

#838 Re: Laravel 5.x » Количество связанных данных одним запросом » 08.12.2015 14:52:07

и в третьих

вариант "упрощёнка", но с нагрузкой на сервер и излишними итерациями
(не, не ждите готового решения, пора самим думать, а не ждать что кто-то за вас чего-то там сделает)

$Posts = Post::lists('id','votes')->get();
foreach($Posts as $Post)
{
    $Posts->countCommets = $Post->countCommets();
}
$result = $Posts->toArray();
// если дальше код пишешь, то обязательно делай unset($Posts,$Post); ненужного - высвобождай память
class Comment extends Model
{
    public function post()
    {
        return $this->belongsTo('Post');
    }
}
class Post extends Model
{
    public function comments()
    {
        return $this->hasMany('Comment');
    }
    public function countComments()
    {
        return $this->hasMany('Comment')->count();
    }
}

#839 Re: Laravel 5.x » Количество связанных данных одним запросом » 08.12.2015 14:46:26

во вторых.

есть модель Постов.
есть модель Камментов

связать согласно доументации не?

#841 Re: Laravel 5.x » Количество связанных данных одним запросом » 08.12.2015 14:45:28

duante пишет:

$result = DB::table('posts')
            ->join('comments', 'posts.id', '=', 'comments.post_id')
            ->select('posts.*', 'COUNT(comments.id)')
            ->get();

Не?

Не, потому что не вернёт записи без камментов ;-)

#842 Re: Laravel 5.x » Нужна ваша помощь » 08.12.2015 14:41:47

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

#843 Re: Laravel 5.x » Undefined variable: user » 08.12.2015 14:39:31

AntonyZz пишет:

Попробуй 

{{ route('profile.index', ['username' => Auth::user()->username]) }}

тут тоже будет ошибка... для неавторизованных пользователей... wink

#844 Прочее » Предложение админу на мод форума » 08.12.2015 14:37:58

hzone
Ответов: 1

...Как у людей сделано......
...
Решилась проблема - автор или админ ставит префикс теме [SOLVED]

отличная на мой взгляд идея сортинга для последующего чтения smile

#845 Re: Laravel 5.x » Как сделать url с параметрами? » 08.12.2015 14:34:44

Во первых выглядеть тремя разными видами от одного роута не может.
Всё, что кастом - $_GET-параметрами добивать придётся.

Route::get("/{GENRE}/{COUNTRY}/{ACTORS}", "MyController@myMethod");

class MyController extends Model
{
    public function myMethod( $GENRE, $COUNTRY, $ACTORS )
    {
    }
}

смысл понял?

#847 Re: Laravel 5.x » Eloquent join реализация запроса » 08.12.2015 14:22:47

Иван пишет:

Спасибо, с названием таблицы вопрос полностью закрыт.
А по реализации, возможно кто нибудь подскажет более правильное решение.

для грязного чтения есть смысл использовать left join - будешь видеть несущие записи без связей (колоки с null получишь, где жойны должны быть)

#848 Re: Lumen » Lumen » 08.12.2015 13:02:07

Темы пойдут потоком, если будет куда сыпать.
Тут по большей степени собрались перфекционисты и максималисты, да? smile
Следовательно сыпать песок в аквариум не кошерно, а вот в терарриум - да.
Терарриум народу!!!

#849 Lumen » [2adm] Люмен / Lumen » 08.12.2015 12:59:53

hzone
Ответов: 5

Есть смысл создать раздел по люмену.
Первыми постами вбросить краткую инфу по движку.
Уже поднаторел с движком - могу кое-где подсобить со специфичными вопросами.

Подвал раздела