Post Categories

Engineering

Apa Yang Baru Di Laravel 5.5

BY

Luluk Oktaviani

|

Sejak pertama kali dirilis pada pertengahan 2011, Laravel telah menjelma menjadi salah satu framework yang paling banyak digunakan secara luas. Akhir Agustus 2017 menandai 6 tahun Laravel hadir sebagai framework fullstack yang memberi kekuatan bagi puluhan ribu aplikasi web maupun API. Di saat itu pula Laravel versi 5.5 dirilis dengan membawa beragam fitur menarik. Apa saja yang baru di Laravel 5.5? Simak beberapa ulasan berikut ini.

Whoops package

Kembalinya package populer yang sempat tidak disertakan di Laravel sebelumnya ini adalah kabar baik bagi saya. Whoops menampilkan exception dengan jelas dan cantik. Laravel 5.5 menyertakan Whoops v2 yang membawa sejumlah fitur seperti mencari bantuan mengenai exception terkait di Google dan StackOverflow dengan sekali klik.

Collection Dumper

Fitur ini memungkinkan kita untuk menginvestigasi nilai dari suatu Collection secara mudah. Kode dibawah akan menampilkan isi dari Collection $pages.

    $pages = Page::all()->dumper();

Kita juga dapat menggunakan dumper ini beberapa kali seperti

$pages = Page::all()->
    ->dump()
    ->filter(function($item) {
        if ($item->id == 1) return $item;
    })
    ->dump();

Exception custom rendering and reporting

Di Lavarel 5.5, kita bisa membuat class Exception sendiri serta membuat implementasi method render dan report sesuai dengan kebutuhan kita. Dua method ini nantinya akan dieksekusi ketika exception terjadi. Method render berisi kode tentang bagaimana exception ditampilkan, sedangkan method report berisi kode untuk melaporkan exception tersebut, semisal melalui email atau menulis nya ke log

<?php namespace App\Exceptions;

class MyCustomException extends \Exception {

    public function render()
    {
        return view('error.custom');
    }

    public function report()
    {
        // send to log
        // send email
    }
}

Responsible Interface

Dengan fitur ini, kita mendapat kontrol penuh bagaimana sebuah response dibentuk dan dikembalikan di dalam class terpisah

<?php namespace App\Responses;

use Illuminate\Contracts\Support\Responsable;

class MyCustomResponse implements Responsable {

    public function __construct()
    {

    }

    public function toResponse($request)
    {
        if ($request->wantsJson()) {
            // do something here
        } else {
            return view('custom_response');
        }

        // return redirect(), etc
    }
}

Kita dapat menggunakannya di sebuah Controller seperti

<?php

namespace App\Http\Controllers;

use App\Http\Requests;
use Illuminate\Http\Request;
use App\Responses\MyCustomResponse;

class HomeController extends Controller
{
    /**
     * Show the application dashboard.
     *
     * @return \Illuminate\Http\Response
     */
    public function index()
    {
        return new MyCustomeResponse;
    }
}

Frontend Preset

Laravel 5.5 menyediakan generator untuk beberapa frontend framework seperti bootstrap, react, dan vue.

~$ php artisan preset bootstrap|react|vue
~$ npm install

Artisan migrate fresh

Pada versi sebelumnya, Laravel telah mempunyai fitur migrate:refresh yang akan me-rollback semua migration dan menjalankankan kembali semua migration. Berbeda dengan fitur tersebut, fitur migrate:fresh ini akan langsung menghapus semua table dan menjalankan migration dari awal kembali

~$ php artisan migrate:fresh

Automatically Register New Package

Laravel 5.5 memberi kemampuan bagi sebuah package untuk terdaftar dalam service provider milik Laravel tanpa harus secara eksplisit mendaftarkannya melalui config. Umumnya kita akan melakukan hal seperti ini di Laravel versi sebelumnya

~$ composer require graham-campbell/markdown

Kemudian mendaftarkan package tersebut di config

//config/app.php

'providers' => [
    ...
    GrahamCampbell\Markdown\MarkdownServiceProvider:class,
    ...
]

'aliases' => [
    ...
    'Markdown' => GrahamCampbell\Markdown\Facades\Markdown::class,
    ...
]

Di Laravel 5.5, kita bisa mengeliminasi langkah diatas dengan sedikit modifikasi pada file composer.json milik package

    "extra": {
        "laravel": {
            "providers": [
                "GrahamCampbell\Markdown\MarkdownServiceProvider"
            ],
            "aliases": {
                'Markdown' => GrahamCampbell\Markdown\Facades\Markdown::class
            }
        },
    },

Other

Selain fitur baru diatas, ada beberapa fitur lainnya seperti:

  1. Select package on vendor:publish
    Kita dapat memilih config dari package mana yang akan dipublish
Which provider or tag's files would you like to publish?:
  [0] Publish files from all providers and tags listed below
  [1] Provider: Illuminate\Notifications\NotificationServiceProvider
  [2] Provider: Illuminate\Pagination\PaginationServiceProvider
  [3] Provider: UxWeb\SweetAlert\SweetAlertServiceProvider
  [4] Provider: GrahamCampbell\Markdown\MarkdownServiceProvider
  1. Custom Validation Rule: Kita dapat membuat class untuk validation rule
  2. Factory-model generator: Meng-generate model beserta factory

Upgrade to Laravel 5.5

Laravel menyediakan dokumentasi yang lengkap tentang bagaimana cara upgrade dari Laravel versi sebelumnya. Secara ringkas, kita cukup mengubah beberapa bagian di composer.json

     "require": {
-        "php": ">=5.6.4",
-        "laravel/framework": "5.4.*",
+        "php": ">=7.0.0",
+        "graham-campbell/markdown": "^8.0",
+        "laravel/framework": "5.5.*",
         "laravel/tinker": "~1.0",
     },
     "require-dev": {
         "fzaninotto/faker": "~1.4",
         "mockery/mockery": "0.9.*",
-        "phpunit/phpunit": "~5.7",
+        "phpunit/phpunit": "~6.0",
         "symfony/css-selector": "3.1.*",
-        "symfony/dom-crawler": "3.1.*"
+        "symfony/dom-crawler": "3.1.*",
+        "filp/whoops": "~2.0"
     },
     "autoload": {
         "classmap": [
@@ -45,6 +47,10 @@
         "post-update-cmd": [
             "Illuminate\Foundation\ComposerScripts::postUpdate",
             "php artisan optimize"
+        ],
+        "post-autoload-dump": [
+            "Illuminate\Foundation\ComposerScripts::postAutoloadDump",
+            "@php artisan package:discover"
         ]
     },

Potongan kode diatas adalah hasil dari git diff pada file composer.json milik saya. Selanjutnya, kita tinggal memperbarui composer package

~$ composer update

Selesai. Mudah bukan? Selain itu, engineer termuda kami pernah membawakan materi yang serupa dalam pertemuan PHP Indonesia Bandung. Anda bisa menyaksikan sesi lengkapnya disini:

Belajar Laravel bersama Refactory? Contact Us!

Hubungkan dengan kami

Ikuti refactory

Artikel Populer


( ! ) Deprecated: jquery-slick is <strong>deprecated</strong> since version 2.7.0! Use Swiper instead. in /apps/refactory-portal/wp-includes/functions.php on line 5049
Call Stack
#TimeMemoryFunctionLocation
10.0001402072{main}( ).../index.php:0
20.0001402344require( '/apps/refactory-portal/wp-blog-header.php ).../index.php:17
30.353815152400require_once( '/apps/refactory-portal/wp-includes/template-loader.php ).../wp-blog-header.php:19
40.365415235440include( '/apps/refactory-portal/wp-content/plugins/elementor/modules/page-templates/templates/header-footer.php ).../template-loader.php:106
50.484120372512Elementor\Modules\PageTemplates\Module->print_content( ).../header-footer.php:19
60.484120372888call_user_func:{/apps/refactory-portal/wp-content/plugins/elementor/modules/page-templates/module.php:207}( $function_name = [0 => class Elementor\Modules\PageTemplates\Module { protected $print_callback = ...; private ${Elementor\Core\Base\Module}reflection = NULL; private ${Elementor\Core\Base\Module}components = [...]; private ${Elementor\Core\Base\Base_Object}settings = NULL }, 1 => 'print_callback'] ).../module.php:207
70.484120372968Elementor\Modules\PageTemplates\Module->print_callback( ).../module.php:207
80.484520373720the_content( $more_link_text = ???, $strip_teaser = ??? ).../module.php:190
90.484620373744apply_filters( $tag = 'the_content', $value = '<h2>Post Categories</h2>\n<ul id="main-menu">\n \t<li id="menu-item-3571" data-vertical-menu="750px"><a href="https://refactory.id/blog/">Blog</a></li>\n \t<li id="menu-item-3024" data-vertical-menu="750px"><a href="https://refactory.id/blog-engineering/">Engineering</a></li>\n \t<li id="menu-item-3025" data-vertical-menu="750px"><a href="https://refactory.id/blog-profile/">Profile</a></li>\n \t<li id="menu-item-3022" data-vertical-menu="750px"><a href="https://refactory.id/blog-tutorial/">Tutorial</a></li>' ).../post-template.php:253
100.484620374144WP_Hook->apply_filters( $value = '<h2>Post Categories</h2>\n<ul id="main-menu">\n \t<li id="menu-item-3571" data-vertical-menu="750px"><a href="https://refactory.id/blog/">Blog</a></li>\n \t<li id="menu-item-3024" data-vertical-menu="750px"><a href="https://refactory.id/blog-engineering/">Engineering</a></li>\n \t<li id="menu-item-3025" data-vertical-menu="750px"><a href="https://refactory.id/blog-profile/">Profile</a></li>\n \t<li id="menu-item-3022" data-vertical-menu="750px"><a href="https://refactory.id/blog-tutorial/">Tutorial</a></li>', $args = [0 => '<h2>Post Categories</h2>\n<ul id="main-menu">\n \t<li id="menu-item-3571" data-vertical-menu="750px"><a href="https://refactory.id/blog/">Blog</a></li>\n \t<li id="menu-item-3024" data-vertical-menu="750px"><a href="https://refactory.id/blog-engineering/">Engineering</a></li>\n \t<li id="menu-item-3025" data-vertical-menu="750px"><a href="https://refactory.id/blog-profile/">Profile</a></li>\n \t<li id="menu-item-3022" data-vertical-menu="750px"><a href="https://refactory.id/blog-tutorial/">Tutorial</a></li>'] ).../plugin.php:212
110.485120377144Elementor\Frontend->apply_builder_in_content( $content = '<h2>Post Categories</h2>\n<ul id="main-menu">\n \t<li id="menu-item-3571" data-vertical-menu="750px"><a href="https://refactory.id/blog/">Blog</a></li>\n \t<li id="menu-item-3024" data-vertical-menu="750px"><a href="https://refactory.id/blog-engineering/">Engineering</a></li>\n \t<li id="menu-item-3025" data-vertical-menu="750px"><a href="https://refactory.id/blog-profile/">Profile</a></li>\n \t<li id="menu-item-3022" data-vertical-menu="750px"><a href="https://refactory.id/blog-tutorial/">Tutorial</a></li>' ).../class-wp-hook.php:287
120.485120377520Elementor\Frontend->get_builder_content( $post_id = 5117, $with_css = ??? ).../frontend.php:898
130.485820646456Elementor\Core\DocumentTypes\Post->print_elements_with_wrapper( $elements_data = [0 => ['id' => '79e3605', 'elType' => 'section', 'settings' => [...], 'elements' => [...], 'isInner' => FALSE], 1 => ['id' => '66738148', 'elType' => 'section', 'settings' => [...], 'elements' => [...], 'isInner' => FALSE], 2 => ['id' => '726ec236', 'elType' => 'section', 'settings' => [...], 'elements' => [...], 'isInner' => FALSE], 3 => ['id' => '185c457b', 'elType' => 'section', 'settings' => [...], 'elements' => [...], 'isInner' => FALSE], 4 => ['id' => '7f9fc6c9', 'elType' => 'section', 'settings' => [...], 'elements' => [...], 'isInner' => FALSE]] ).../frontend.php:984
140.492220812752Elementor\Core\DocumentTypes\Post->print_elements( $elements_data = [0 => ['id' => '79e3605', 'elType' => 'section', 'settings' => [...], 'elements' => [...], 'isInner' => FALSE], 1 => ['id' => '66738148', 'elType' => 'section', 'settings' => [...], 'elements' => [...], 'isInner' => FALSE], 2 => ['id' => '726ec236', 'elType' => 'section', 'settings' => [...], 'elements' => [...], 'isInner' => FALSE], 3 => ['id' => '185c457b', 'elType' => 'section', 'settings' => [...], 'elements' => [...], 'isInner' => FALSE], 4 => ['id' => '7f9fc6c9', 'elType' => 'section', 'settings' => [...], 'elements' => [...], 'isInner' => FALSE]] ).../document.php:933
150.558322781840Elementor\Element_Section->print_element( ).../document.php:1296
160.562722891696Elementor\Element_Section->print_content( ).../element-base.php:650
170.655825020312Elementor\Element_Column->print_element( ).../element-base.php:907
180.659025121896Elementor\Element_Column->print_content( ).../element-base.php:650
190.712327069168Elementor\Element_Section->print_element( ).../element-base.php:907
200.716427179024Elementor\Element_Section->print_content( ).../element-base.php:650
210.716527180480Elementor\Element_Column->print_element( ).../element-base.php:907
220.719827282064Elementor\Element_Column->print_content( ).../element-base.php:650
230.725327409896OneElements\Includes\Widgets\PostGrid\Widget_OneElements_PostGrid->print_element( ).../element-base.php:907
240.860232185832OneElements\Includes\Widgets\PostGrid\Widget_OneElements_PostGrid->enqueue_scripts( ).../element-base.php:682
250.860232186208Elementor\Utils::handle_deprecation( $item = 'jquery-slick', $version = '2.7.0', $replacement = 'Swiper' ).../element-base.php:152
260.860332187072_deprecated_file( $file = 'jquery-slick', $version = '2.7.0', $replacement = 'Swiper', $message = ??? ).../utils.php:487
270.860332188144trigger_error( $message = 'jquery-slick is <strong>deprecated</strong> since version 2.7.0! Use Swiper instead.', $error_type = 16384 ).../functions.php:5049

Case Studies


( ! ) Deprecated: jquery-slick is <strong>deprecated</strong> since version 2.7.0! Use Swiper instead. in /apps/refactory-portal/wp-includes/functions.php on line 5049
Call Stack
#TimeMemoryFunctionLocation
10.0001402072{main}( ).../index.php:0
20.0001402344require( '/apps/refactory-portal/wp-blog-header.php ).../index.php:17
30.353815152400require_once( '/apps/refactory-portal/wp-includes/template-loader.php ).../wp-blog-header.php:19
40.365415235440include( '/apps/refactory-portal/wp-content/plugins/elementor/modules/page-templates/templates/header-footer.php ).../template-loader.php:106
50.484120372512Elementor\Modules\PageTemplates\Module->print_content( ).../header-footer.php:19
60.484120372888call_user_func:{/apps/refactory-portal/wp-content/plugins/elementor/modules/page-templates/module.php:207}( $function_name = [0 => class Elementor\Modules\PageTemplates\Module { protected $print_callback = ...; private ${Elementor\Core\Base\Module}reflection = NULL; private ${Elementor\Core\Base\Module}components = [...]; private ${Elementor\Core\Base\Base_Object}settings = NULL }, 1 => 'print_callback'] ).../module.php:207
70.484120372968Elementor\Modules\PageTemplates\Module->print_callback( ).../module.php:207
80.484520373720the_content( $more_link_text = ???, $strip_teaser = ??? ).../module.php:190
90.484620373744apply_filters( $tag = 'the_content', $value = '<h2>Post Categories</h2>\n<ul id="main-menu">\n \t<li id="menu-item-3571" data-vertical-menu="750px"><a href="https://refactory.id/blog/">Blog</a></li>\n \t<li id="menu-item-3024" data-vertical-menu="750px"><a href="https://refactory.id/blog-engineering/">Engineering</a></li>\n \t<li id="menu-item-3025" data-vertical-menu="750px"><a href="https://refactory.id/blog-profile/">Profile</a></li>\n \t<li id="menu-item-3022" data-vertical-menu="750px"><a href="https://refactory.id/blog-tutorial/">Tutorial</a></li>' ).../post-template.php:253
100.484620374144WP_Hook->apply_filters( $value = '<h2>Post Categories</h2>\n<ul id="main-menu">\n \t<li id="menu-item-3571" data-vertical-menu="750px"><a href="https://refactory.id/blog/">Blog</a></li>\n \t<li id="menu-item-3024" data-vertical-menu="750px"><a href="https://refactory.id/blog-engineering/">Engineering</a></li>\n \t<li id="menu-item-3025" data-vertical-menu="750px"><a href="https://refactory.id/blog-profile/">Profile</a></li>\n \t<li id="menu-item-3022" data-vertical-menu="750px"><a href="https://refactory.id/blog-tutorial/">Tutorial</a></li>', $args = [0 => '<h2>Post Categories</h2>\n<ul id="main-menu">\n \t<li id="menu-item-3571" data-vertical-menu="750px"><a href="https://refactory.id/blog/">Blog</a></li>\n \t<li id="menu-item-3024" data-vertical-menu="750px"><a href="https://refactory.id/blog-engineering/">Engineering</a></li>\n \t<li id="menu-item-3025" data-vertical-menu="750px"><a href="https://refactory.id/blog-profile/">Profile</a></li>\n \t<li id="menu-item-3022" data-vertical-menu="750px"><a href="https://refactory.id/blog-tutorial/">Tutorial</a></li>'] ).../plugin.php:212
110.485120377144Elementor\Frontend->apply_builder_in_content( $content = '<h2>Post Categories</h2>\n<ul id="main-menu">\n \t<li id="menu-item-3571" data-vertical-menu="750px"><a href="https://refactory.id/blog/">Blog</a></li>\n \t<li id="menu-item-3024" data-vertical-menu="750px"><a href="https://refactory.id/blog-engineering/">Engineering</a></li>\n \t<li id="menu-item-3025" data-vertical-menu="750px"><a href="https://refactory.id/blog-profile/">Profile</a></li>\n \t<li id="menu-item-3022" data-vertical-menu="750px"><a href="https://refactory.id/blog-tutorial/">Tutorial</a></li>' ).../class-wp-hook.php:287
120.485120377520Elementor\Frontend->get_builder_content( $post_id = 5117, $with_css = ??? ).../frontend.php:898
130.485820646456Elementor\Core\DocumentTypes\Post->print_elements_with_wrapper( $elements_data = [0 => ['id' => '79e3605', 'elType' => 'section', 'settings' => [...], 'elements' => [...], 'isInner' => FALSE], 1 => ['id' => '66738148', 'elType' => 'section', 'settings' => [...], 'elements' => [...], 'isInner' => FALSE], 2 => ['id' => '726ec236', 'elType' => 'section', 'settings' => [...], 'elements' => [...], 'isInner' => FALSE], 3 => ['id' => '185c457b', 'elType' => 'section', 'settings' => [...], 'elements' => [...], 'isInner' => FALSE], 4 => ['id' => '7f9fc6c9', 'elType' => 'section', 'settings' => [...], 'elements' => [...], 'isInner' => FALSE]] ).../frontend.php:984
140.492220812752Elementor\Core\DocumentTypes\Post->print_elements( $elements_data = [0 => ['id' => '79e3605', 'elType' => 'section', 'settings' => [...], 'elements' => [...], 'isInner' => FALSE], 1 => ['id' => '66738148', 'elType' => 'section', 'settings' => [...], 'elements' => [...], 'isInner' => FALSE], 2 => ['id' => '726ec236', 'elType' => 'section', 'settings' => [...], 'elements' => [...], 'isInner' => FALSE], 3 => ['id' => '185c457b', 'elType' => 'section', 'settings' => [...], 'elements' => [...], 'isInner' => FALSE], 4 => ['id' => '7f9fc6c9', 'elType' => 'section', 'settings' => [...], 'elements' => [...], 'isInner' => FALSE]] ).../document.php:933
150.558322781840Elementor\Element_Section->print_element( ).../document.php:1296
160.562722891696Elementor\Element_Section->print_content( ).../element-base.php:650
170.655825020312Elementor\Element_Column->print_element( ).../element-base.php:907
180.659025121896Elementor\Element_Column->print_content( ).../element-base.php:650
190.884532522840Elementor\Element_Section->print_element( ).../element-base.php:907
200.888732632696Elementor\Element_Section->print_content( ).../element-base.php:650
210.888832634152Elementor\Element_Column->print_element( ).../element-base.php:907
220.892732735736Elementor\Element_Column->print_content( ).../element-base.php:650
230.898432864056LivemeshAddons\Widgets\LAE_Posts_Carousel_Widget->print_element( ).../element-base.php:907
240.966233879520LivemeshAddons\Widgets\LAE_Posts_Carousel_Widget->enqueue_scripts( ).../element-base.php:682
250.966233879520Elementor\Utils::handle_deprecation( $item = 'jquery-slick', $version = '2.7.0', $replacement = 'Swiper' ).../element-base.php:152
260.966233880384_deprecated_file( $file = 'jquery-slick', $version = '2.7.0', $replacement = 'Swiper', $message = ??? ).../utils.php:487
270.966333880704trigger_error( $message = 'jquery-slick is <strong>deprecated</strong> since version 2.7.0! Use Swiper instead.', $error_type = 16384 ).../functions.php:5049
The current query has no posts. Please make sure you have published items matching your query.

( ! ) Deprecated: jquery-slick is <strong>deprecated</strong> since version 2.7.0! Use Swiper instead. in /apps/refactory-portal/wp-includes/functions.php on line 5049
Call Stack
#TimeMemoryFunctionLocation
10.0001402072{main}( ).../index.php:0
20.0001402344require( '/apps/refactory-portal/wp-blog-header.php ).../index.php:17
30.353815152400require_once( '/apps/refactory-portal/wp-includes/template-loader.php ).../wp-blog-header.php:19
40.365415235440include( '/apps/refactory-portal/wp-content/plugins/elementor/modules/page-templates/templates/header-footer.php ).../template-loader.php:106
50.484120372512Elementor\Modules\PageTemplates\Module->print_content( ).../header-footer.php:19
60.484120372888call_user_func:{/apps/refactory-portal/wp-content/plugins/elementor/modules/page-templates/module.php:207}( $function_name = [0 => class Elementor\Modules\PageTemplates\Module { protected $print_callback = ...; private ${Elementor\Core\Base\Module}reflection = NULL; private ${Elementor\Core\Base\Module}components = [...]; private ${Elementor\Core\Base\Base_Object}settings = NULL }, 1 => 'print_callback'] ).../module.php:207
70.484120372968Elementor\Modules\PageTemplates\Module->print_callback( ).../module.php:207
80.484520373720the_content( $more_link_text = ???, $strip_teaser = ??? ).../module.php:190
90.484620373744apply_filters( $tag = 'the_content', $value = '<h2>Post Categories</h2>\n<ul id="main-menu">\n \t<li id="menu-item-3571" data-vertical-menu="750px"><a href="https://refactory.id/blog/">Blog</a></li>\n \t<li id="menu-item-3024" data-vertical-menu="750px"><a href="https://refactory.id/blog-engineering/">Engineering</a></li>\n \t<li id="menu-item-3025" data-vertical-menu="750px"><a href="https://refactory.id/blog-profile/">Profile</a></li>\n \t<li id="menu-item-3022" data-vertical-menu="750px"><a href="https://refactory.id/blog-tutorial/">Tutorial</a></li>' ).../post-template.php:253
100.484620374144WP_Hook->apply_filters( $value = '<h2>Post Categories</h2>\n<ul id="main-menu">\n \t<li id="menu-item-3571" data-vertical-menu="750px"><a href="https://refactory.id/blog/">Blog</a></li>\n \t<li id="menu-item-3024" data-vertical-menu="750px"><a href="https://refactory.id/blog-engineering/">Engineering</a></li>\n \t<li id="menu-item-3025" data-vertical-menu="750px"><a href="https://refactory.id/blog-profile/">Profile</a></li>\n \t<li id="menu-item-3022" data-vertical-menu="750px"><a href="https://refactory.id/blog-tutorial/">Tutorial</a></li>', $args = [0 => '<h2>Post Categories</h2>\n<ul id="main-menu">\n \t<li id="menu-item-3571" data-vertical-menu="750px"><a href="https://refactory.id/blog/">Blog</a></li>\n \t<li id="menu-item-3024" data-vertical-menu="750px"><a href="https://refactory.id/blog-engineering/">Engineering</a></li>\n \t<li id="menu-item-3025" data-vertical-menu="750px"><a href="https://refactory.id/blog-profile/">Profile</a></li>\n \t<li id="menu-item-3022" data-vertical-menu="750px"><a href="https://refactory.id/blog-tutorial/">Tutorial</a></li>'] ).../plugin.php:212
110.485120377144Elementor\Frontend->apply_builder_in_content( $content = '<h2>Post Categories</h2>\n<ul id="main-menu">\n \t<li id="menu-item-3571" data-vertical-menu="750px"><a href="https://refactory.id/blog/">Blog</a></li>\n \t<li id="menu-item-3024" data-vertical-menu="750px"><a href="https://refactory.id/blog-engineering/">Engineering</a></li>\n \t<li id="menu-item-3025" data-vertical-menu="750px"><a href="https://refactory.id/blog-profile/">Profile</a></li>\n \t<li id="menu-item-3022" data-vertical-menu="750px"><a href="https://refactory.id/blog-tutorial/">Tutorial</a></li>' ).../class-wp-hook.php:287
120.485120377520Elementor\Frontend->get_builder_content( $post_id = 5117, $with_css = ??? ).../frontend.php:898
130.485820646456Elementor\Core\DocumentTypes\Post->print_elements_with_wrapper( $elements_data = [0 => ['id' => '79e3605', 'elType' => 'section', 'settings' => [...], 'elements' => [...], 'isInner' => FALSE], 1 => ['id' => '66738148', 'elType' => 'section', 'settings' => [...], 'elements' => [...], 'isInner' => FALSE], 2 => ['id' => '726ec236', 'elType' => 'section', 'settings' => [...], 'elements' => [...], 'isInner' => FALSE], 3 => ['id' => '185c457b', 'elType' => 'section', 'settings' => [...], 'elements' => [...], 'isInner' => FALSE], 4 => ['id' => '7f9fc6c9', 'elType' => 'section', 'settings' => [...], 'elements' => [...], 'isInner' => FALSE]] ).../frontend.php:984
140.492220812752Elementor\Core\DocumentTypes\Post->print_elements( $elements_data = [0 => ['id' => '79e3605', 'elType' => 'section', 'settings' => [...], 'elements' => [...], 'isInner' => FALSE], 1 => ['id' => '66738148', 'elType' => 'section', 'settings' => [...], 'elements' => [...], 'isInner' => FALSE], 2 => ['id' => '726ec236', 'elType' => 'section', 'settings' => [...], 'elements' => [...], 'isInner' => FALSE], 3 => ['id' => '185c457b', 'elType' => 'section', 'settings' => [...], 'elements' => [...], 'isInner' => FALSE], 4 => ['id' => '7f9fc6c9', 'elType' => 'section', 'settings' => [...], 'elements' => [...], 'isInner' => FALSE]] ).../document.php:933
150.558322781840Elementor\Element_Section->print_element( ).../document.php:1296
160.562722891696Elementor\Element_Section->print_content( ).../element-base.php:650
170.655825020312Elementor\Element_Column->print_element( ).../element-base.php:907
180.659025121896Elementor\Element_Column->print_content( ).../element-base.php:650
190.983834245688PremiumAddons\Widgets\Premium_Blog->print_element( ).../element-base.php:907
201.260955723168PremiumAddons\Widgets\Premium_Blog->enqueue_scripts( ).../element-base.php:682
211.260955723168Elementor\Utils::handle_deprecation( $item = 'jquery-slick', $version = '2.7.0', $replacement = 'Swiper' ).../element-base.php:152
221.261055724032_deprecated_file( $file = 'jquery-slick', $version = '2.7.0', $replacement = 'Swiper', $message = ??? ).../utils.php:487
231.261055724352trigger_error( $message = 'jquery-slick is <strong>deprecated</strong> since version 2.7.0! Use Swiper instead.', $error_type = 16384 ).../functions.php:5049
Tag
Artikel Terkait
Lihat lebih banyak artikel bagus dari kategori ini!

( ! ) Deprecated: jquery-slick is <strong>deprecated</strong> since version 2.7.0! Use Swiper instead. in /apps/refactory-portal/wp-includes/functions.php on line 5049
Call Stack
#TimeMemoryFunctionLocation
10.0001402072{main}( ).../index.php:0
20.0001402344require( '/apps/refactory-portal/wp-blog-header.php ).../index.php:17
30.353815152400require_once( '/apps/refactory-portal/wp-includes/template-loader.php ).../wp-blog-header.php:19
40.365415235440include( '/apps/refactory-portal/wp-content/plugins/elementor/modules/page-templates/templates/header-footer.php ).../template-loader.php:106
50.484120372512Elementor\Modules\PageTemplates\Module->print_content( ).../header-footer.php:19
60.484120372888call_user_func:{/apps/refactory-portal/wp-content/plugins/elementor/modules/page-templates/module.php:207}( $function_name = [0 => class Elementor\Modules\PageTemplates\Module { protected $print_callback = ...; private ${Elementor\Core\Base\Module}reflection = NULL; private ${Elementor\Core\Base\Module}components = [...]; private ${Elementor\Core\Base\Base_Object}settings = NULL }, 1 => 'print_callback'] ).../module.php:207
70.484120372968Elementor\Modules\PageTemplates\Module->print_callback( ).../module.php:207
80.484520373720the_content( $more_link_text = ???, $strip_teaser = ??? ).../module.php:190
90.484620373744apply_filters( $tag = 'the_content', $value = '<h2>Post Categories</h2>\n<ul id="main-menu">\n \t<li id="menu-item-3571" data-vertical-menu="750px"><a href="https://refactory.id/blog/">Blog</a></li>\n \t<li id="menu-item-3024" data-vertical-menu="750px"><a href="https://refactory.id/blog-engineering/">Engineering</a></li>\n \t<li id="menu-item-3025" data-vertical-menu="750px"><a href="https://refactory.id/blog-profile/">Profile</a></li>\n \t<li id="menu-item-3022" data-vertical-menu="750px"><a href="https://refactory.id/blog-tutorial/">Tutorial</a></li>' ).../post-template.php:253
100.484620374144WP_Hook->apply_filters( $value = '<h2>Post Categories</h2>\n<ul id="main-menu">\n \t<li id="menu-item-3571" data-vertical-menu="750px"><a href="https://refactory.id/blog/">Blog</a></li>\n \t<li id="menu-item-3024" data-vertical-menu="750px"><a href="https://refactory.id/blog-engineering/">Engineering</a></li>\n \t<li id="menu-item-3025" data-vertical-menu="750px"><a href="https://refactory.id/blog-profile/">Profile</a></li>\n \t<li id="menu-item-3022" data-vertical-menu="750px"><a href="https://refactory.id/blog-tutorial/">Tutorial</a></li>', $args = [0 => '<h2>Post Categories</h2>\n<ul id="main-menu">\n \t<li id="menu-item-3571" data-vertical-menu="750px"><a href="https://refactory.id/blog/">Blog</a></li>\n \t<li id="menu-item-3024" data-vertical-menu="750px"><a href="https://refactory.id/blog-engineering/">Engineering</a></li>\n \t<li id="menu-item-3025" data-vertical-menu="750px"><a href="https://refactory.id/blog-profile/">Profile</a></li>\n \t<li id="menu-item-3022" data-vertical-menu="750px"><a href="https://refactory.id/blog-tutorial/">Tutorial</a></li>'] ).../plugin.php:212
110.485120377144Elementor\Frontend->apply_builder_in_content( $content = '<h2>Post Categories</h2>\n<ul id="main-menu">\n \t<li id="menu-item-3571" data-vertical-menu="750px"><a href="https://refactory.id/blog/">Blog</a></li>\n \t<li id="menu-item-3024" data-vertical-menu="750px"><a href="https://refactory.id/blog-engineering/">Engineering</a></li>\n \t<li id="menu-item-3025" data-vertical-menu="750px"><a href="https://refactory.id/blog-profile/">Profile</a></li>\n \t<li id="menu-item-3022" data-vertical-menu="750px"><a href="https://refactory.id/blog-tutorial/">Tutorial</a></li>' ).../class-wp-hook.php:287
120.485120377520Elementor\Frontend->get_builder_content( $post_id = 5117, $with_css = ??? ).../frontend.php:898
130.485820646456Elementor\Core\DocumentTypes\Post->print_elements_with_wrapper( $elements_data = [0 => ['id' => '79e3605', 'elType' => 'section', 'settings' => [...], 'elements' => [...], 'isInner' => FALSE], 1 => ['id' => '66738148', 'elType' => 'section', 'settings' => [...], 'elements' => [...], 'isInner' => FALSE], 2 => ['id' => '726ec236', 'elType' => 'section', 'settings' => [...], 'elements' => [...], 'isInner' => FALSE], 3 => ['id' => '185c457b', 'elType' => 'section', 'settings' => [...], 'elements' => [...], 'isInner' => FALSE], 4 => ['id' => '7f9fc6c9', 'elType' => 'section', 'settings' => [...], 'elements' => [...], 'isInner' => FALSE]] ).../frontend.php:984
140.492220812752Elementor\Core\DocumentTypes\Post->print_elements( $elements_data = [0 => ['id' => '79e3605', 'elType' => 'section', 'settings' => [...], 'elements' => [...], 'isInner' => FALSE], 1 => ['id' => '66738148', 'elType' => 'section', 'settings' => [...], 'elements' => [...], 'isInner' => FALSE], 2 => ['id' => '726ec236', 'elType' => 'section', 'settings' => [...], 'elements' => [...], 'isInner' => FALSE], 3 => ['id' => '185c457b', 'elType' => 'section', 'settings' => [...], 'elements' => [...], 'isInner' => FALSE], 4 => ['id' => '7f9fc6c9', 'elType' => 'section', 'settings' => [...], 'elements' => [...], 'isInner' => FALSE]] ).../document.php:933
151.309050910792Elementor\Element_Section->print_element( ).../document.php:1296
161.313551020648Elementor\Element_Section->print_content( ).../element-base.php:650
171.313651022104Elementor\Element_Column->print_element( ).../element-base.php:907
181.317451123688Elementor\Element_Column->print_content( ).../element-base.php:650
191.350451787736OneElements\Includes\Widgets\PostGrid\Widget_OneElements_PostGrid->print_element( ).../element-base.php:907
201.402752571256OneElements\Includes\Widgets\PostGrid\Widget_OneElements_PostGrid->enqueue_scripts( ).../element-base.php:682
211.402852571632Elementor\Utils::handle_deprecation( $item = 'jquery-slick', $version = '2.7.0', $replacement = 'Swiper' ).../element-base.php:152
221.402852572496_deprecated_file( $file = 'jquery-slick', $version = '2.7.0', $replacement = 'Swiper', $message = ??? ).../utils.php:487
231.402852572816trigger_error( $message = 'jquery-slick is <strong>deprecated</strong> since version 2.7.0! Use Swiper instead.', $error_type = 16384 ).../functions.php:5049
×