- https://speakerdeck.com/willroth/50-laravel-tricks-in-50-minutes
- https://www.reddit.com/r/laravel/comments/3to60i/50_laravel_tricks/
- 1. Automatic Model Validation
| <?php | |
| // Usage: | |
| // Before | |
| @if ($errors->has('email')) | |
| <span>{{ $errors->first('email') }}</span> | |
| @endif | |
| // After: |
| let mix = require('laravel-mix'); | |
| mix.js('src/index.js', 'dist/foo.js').sourceMaps(); | |
| mix.webpackConfig({ | |
| output: { | |
| libraryTarget: 'umd', | |
| } | |
| }) |
| const puppeteer = require('puppeteer'); | |
| const imagemin = require('imagemin'); | |
| const imageminPngquant = require('imagemin-pngquant'); | |
| // Get the URL and the slug segment from it | |
| const url = process.argv[2]; | |
| const segments = url.split('/'); | |
| const slug = segments[segments.length-2]; | |
| (async () => { |
| <?php | |
| class FieldServiceProvider extends ServiceProvider{ | |
| /** | |
| * Bootstrap the field services. | |
| * @return void | |
| */ | |
| public function boot() | |
| { | |
| Nova::serving(function (ServingNova $event) { | |
| $files = app('files'); |
| <?php | |
| require __DIR__ . '/vendor/autoload.php'; | |
| use GuzzleHttp\Client; | |
| $url = "https://domain.tld/large-file.mp4"; | |
| $tmpFile = tempnam(sys_get_temp_dir(), 'guzzle-download'); | |
| $client = new Client(array( |
| <?php | |
| //Intervention Image Package: | |
| //http://image.intervention.io | |
| Route::get('generate', function(){ | |
| $text = 'image/jpg'; | |
| $width = 1600; | |
| $height = 1000; | |
| $centerH = $width/2; |
| <?php | |
| //Notes: Special Thanks to OleMartinOrg (https://stackoverflow.com/users/2677898/olemartinorg) | |
| //StackOverflow Source: https://stackoverflow.com/questions/5312349/minifying-final-html-output-using-regular-expressions-with-codeigniter. | |
| //Usage: Place code below in new ViewServiceProvider that's registered after the Laravel version: | |
| //$this->app->singleton('blade.compiler', function () { | |
| // return new HtmlMinifyCompiler($this->app['files'], $this->app['config']['view.compiled']); | |
| //}); | |
| //$this->app['view']->getEngineResolver()->register('blade', function () { | |
| // return new CompilerEngine($this->app['blade.compiler']); |
| <!DOCTYPE html> | |
| <html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> | |
| <style> | |
| body { | |
| background: repeat url('data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEASABIAAD/7QCIUGhvdG9zaG9wIDMuMAA4QklNBAQAAAAAAGscAVoAAxslRxwCAAACAAAcAnQAV8KpIENoYWV5b3VuZ1dpbGxOZXZlckNoYWVvbGQgLSBodHRwOi8vd3d3LnJlZGJ1YmJsZS5jb20vcGVvcGxlL0NoYWV5b3VuZ1dpbGxOZXZlckNoYWVvbAD/4gxYSUNDX1BST0ZJTEUAAQEAAAxITGlubwIQAABtbnRyUkdCIFhZWiAHzgACAAkABgAxAABhY3NwTVNGVAAAAABJRUMgc1JHQgAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLUhQICAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABFjcHJ0AAABUAAAADNkZXNjAAABhAAAAGx3dHB0AAAB8AAAABRia3B0AAACBAAAABRyWFlaAAACGAAAABRnWFlaAAACLAAAABRiWFlaAAACQAAAABRkbW5kAAACVAAAAHBkbWRkAAACxAAAAIh2dWVkAAADTAAAAIZ2aWV3AAAD1AAAACRsdW1pAAAD+AAAABRtZWFzAAAEDAAAACR0ZWNoAAAEMAAAAAxyVFJDAAAEPAAACAxnVFJDAAAEPAAACAxiVFJDAAAEPAAACAx0ZXh0AAAAAENvcHlyaWdodCAoYykgMTk5OCBIZXdsZXR0LVBhY2thcmQgQ29tcGFueQAAZGVzYwAAAAAAAAASc1JHQiBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAAABJzUkdCIElFQzYxOTY2LTIuMQAAAAAAAA |
| map $http_accept $api_version { | |
| default 0; | |
| "application/vnd.example.v1+json" 1; | |
| } | |
| server { | |
| listen 80; | |
| listen [::]:80; |