Fais Lonelyman yang bergantung pada kehidupan cyber nya

Debugging di Laravel

2 Men-bac

Package ini mengintegrasikan PHP Debug Bar dengan Laravel 5.

Ini termasuk ServiceProvider untuk mendaftarkan debugbar dan melampirkannya ke output. Anda dapat mempublikasikan aset dan mengonfigurasinya melalui Laravel.
Ini bootstrap beberapa Kolektor untuk bekerja dengan Laravel dan mengimplementasikan beberapa DataCollectors khusus, khusus untuk Laravel.
Ini dikonfigurasi untuk menampilkan Redirect dan (jQuery) Permintaan Ajax. (Ditampilkan dalam dropdown)
Baca dokumentasi untuk opsi lebih lanjut.

Screenshot

Catatan: Gunakan debugbar untuk development saja. Package ini membuat web jadi sedikit lebih lambat (karena mengambil beberapa data). Jika mengalami menjadi lebih lambat, coba disablekan beberapa collectors.

Paket ini terdiri dari beberapa collectors:
– QueryCollector: Menampilkan semua queries, termasuk binding + timing
– RouteCollector: Menampilkan informasi Route saat ini.
– ViewCollector: Menampilkan Views saat ini. (Opsi: menampilkan data yg dibagikan)
– EventsCollector: Menampilkan semua events
– LaravelCollector: Menampilkan jenis Laravel dan Environment. (dimatikan secara default)
– SymfonyRequestCollector: menggantikan RequestCollector dengan informasi request/response
– LogsCollector: Menampilkan entri log terbaru dari penyimpanan logs. (dimatikan secara default)
– FilesCollector: Menampilkan file/data yang dimasukkan PHP. (dimatikan secara default)
– ConfigCollector: Menampilkan value dari konfigurasi laravel. (dimatikan secara default)
– CacheCollector: Menampilkan semua cache events. (dimatikan secara default)

Bootstrap kolektor berikut untuk Laravel:
– LogCollector: Menampilkan semua pesan Log
– SwiftMailCollector dan SwiftLogCollector untuk Mail

Dan default collectors:
– PhpInfoCollector
– MessagesCollector
– TimeDataCollector (Dengan Booting dan Application timing)
– MemoryCollector
– ExceptionsCollector

Dan juga ada beberapa tambahan Facades untuk logging Messages, Exceptions dan Time

Instalasinya

Tambahkan packages ini dengan composer. Ini direkomendasikan untuk menambah package dev.

composer require barryvdh/laravel-debugbar --dev

Laravel 5.5 otomatis mendeteksi package yg ditambahkan, jadi tidak perlu menambahkan ServiceProvider.

Debugbar akan berjalan jika APP_DEBUG ditetapkan true.

Jika ingin saring semua/fallback route, pastikan Debugbar dari ServiceProvider berjalan sebelum App ServiceProviders.

Laravel 5.5+:

Jika deteksi otomatis dimatikan, tambahkan ServiceProvider ke providers array dalam config/app.php

Barryvdh\Debugbar\ServiceProvider::class,

Jika ingin menggunakan Facades pesan log, tambahkan ini di facades dalam app.php:

'Debugbar' => Barryvdh\Debugbar\Facade::class,

Kemudian publish paket tersebut dengan command:

php artisan vendor:publish --provider="Barryvdh\Debugbar\ServiceProvider"

Lumen:

Untuk Lumen, daftarkan dengan Provider berbeda di bootstrap/app.php:

if (env('APP_DEBUG')) {
 $app->register(Barryvdh\Debugbar\LumenServiceProvider::class);
}

Untuk mengganti konfigurasi, salin file kamu di config folder dan aktifkan:

$app->configure('debugbar');

Penggunaan

Kamu dapat menambahkan pesan Facade (jika ditambahkan), menggunakan level PSR-3 (debug, info, notice, warning, error, critical, alert, emergency):

Debugbar::info($object);
Debugbar::error('Error!');
Debugbar::warning('Watch out…');
Debugbar::addMessage('Another message', 'mylabel');

Tambahkan start/stop timing:

Debugbar::startMeasure('render','Time for rendering');
Debugbar::stopMeasure('render');
Debugbar::addMeasure('now', LARAVEL_START, microtime(true));
Debugbar::measure('My long operation', function() {
    // Lakukan sesuatu…
});

Atau log exceptions:

try {
    throw new Exception('foobar');
} catch (Exception $e) {
    Debugbar::addThrowable($e);
}

Juga ada beberapa helper functions tersedia untuk beberapa calls:

// Semua argumen akan menjadi debug message
debug($var1, $someString, $intValue, $object);

start_measure('render','Time for rendering');
stop_measure('render');
add_measure('now', LARAVEL_START, microtime(true));
measure('My long operation', function() {
    // Lakukan sesukamu…
});

Jika ingin di pasangkan dengan DataCollectors, tambahkan di Container atau Facade:

Debugbar::addCollector(new DebugBar\DataCollector\MessagesCollector('my_messages'));
//Or via the App container:
$debugbar = App::make('debugbar');
$debugbar->addCollector(new DebugBar\DataCollector\MessagesCollector('my_messages'));

Secara default, Debugbar akan di inject sebelum </body>. Jika ingin inject manual,
set option ‘inject’ ke false dan gunakan rendering sendir dan ikuti petunjuk dibawah http://phpdebugbar.com/docs/rendering.html

$renderer = Debugbar::getJavascriptRenderer();

Tambahan: Dengan tidak menggunakan auto-inject, akan mendisable Request information, karena akan ditambahkan sesudah request.
Kamu dapat menambahkan default_request datacollector di config sebagai alternatifnya.

Fais Lonelyman yang bergantung pada kehidupan cyber nya

Instalasi ReamJS

Fais
19 Det-Bac

Membuat Package Laravel

Fais
2 Men-bac