- 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; |