Geri çağırış Lim10Ata\Flatix\xfwidgets::gethtml yanlışdır (error_invalid_class).

Forumda sizi görməkdə şadıq 👋,

Forum məzmununa və bütün xidmətlərimizə daxil olmaq üçün qeydiyyatdan keçməli və ya foruma daxil olmalısınız. Foruma üzv olmaq tamamilə ödənişsizdir.

Qeydiyyatdan keç

Laravel ile bagli suallar

3

GameKing

Məhşur istifadəçi
Silver istifadeci
Qoşuldu
10 Sen 2022
Mesajlar
241
Reaksiya hesabı
122
Xallar
43
Salam, bu movzuda laravel ile bagli problemlerin helli ile bagli suallarimi qeyd edecem.

Ilk sualim budur ki php artisan migrate ve ya php artisan migrate:refresh cli kodunu ise saldigimda, videodaki problem ile qarsilasiram, bu problemi nece hell ede bilerem?

Video: Demo Link
 
3

GameKing

Məhşur istifadəçi
Silver istifadeci
Qoşuldu
10 Sen 2022
Mesajlar
241
Reaksiya hesabı
122
Xallar
43
Bilen yoxdur deyesen?!
Hemin problem demek olar ki butun versiyalarda var ve biri izah ede bilermi ki sehvlik neden qaynaqlanir?
 

bytar

İstifadəçi
istifadeci
Qoşuldu
30 Avg 2022
Mesajlar
48
Reaksiya hesabı
19
Xallar
8
streamable.com islemedi, probleme baxammadim. Terminalda peoblem ne cixir?
 
3

LOCALHOST

Məhşur istifadəçi
WebMaster
Qoşuldu
3 Sen 2022
Mesajlar
278
Reaksiya hesabı
125
Xallar
43
migration fayıllarını incələmək lazımdır

php artisan migrate yeni migration fayıllarını migrate etdiyini yəqin bilirsiniz.
lazım olsa team yazarsız qoşulub həll edərik problemi.
 
3

GameKing

Məhşur istifadəçi
Silver istifadeci
Qoşuldu
10 Sen 2022
Mesajlar
241
Reaksiya hesabı
122
Xallar
43
Problemi,

/app/Providers/AppServiceProvider.php

faylinda boot adinda class metod icerisinde duzelis ederek hell etdim, bilmeyenler ucun kodu paylasiram.

PHP:
use Illuminate\Support\Facades\Schema;

/**
 * Bootstrap any application services.
 *
 * @return void
 */
public function boot()
{
    Schema::defaultStringLength(191);
}

Hemin bu kod varchar data type deyerine sahib olan columns-lar ucun max uzunlugu 191 olaraq teyin edir ve belelikle melumatlari seed ederken problem yasanmir.
 
3

GameKing

Məhşur istifadəçi
Silver istifadeci
Qoşuldu
10 Sen 2022
Mesajlar
241
Reaksiya hesabı
122
Xallar
43
@LOCALHOST,
Beli bilirem, tşk, problem artiq hell olundu, laravel ile bagli nese problem olsa burada mesaj olaraq paylasacam muzakire edib hell yolunu tapariq, belelikle bilmeyenler de oyrenmis olar
 
3

LOCALHOST

Məhşur istifadəçi
WebMaster
Qoşuldu
3 Sen 2022
Mesajlar
278
Reaksiya hesabı
125
Xallar
43
@LOCALHOST,
Beli bilirem, tşk, problem artiq hell olundu, laravel ile bagli nese problem olsa burada mesaj olaraq paylasacam muzakire edib hell yolunu tapariq, belelikle bilmeyenler de oyrenmis olar
Yaxşı elədiniz.
Məlumat üçün bildirim ki, laravelin life cyclesi yüklənəndə hər requestdə servis provayderlər çağırılır.
App servis provayderində ocür həll edilməsi performans baxımından biraz alternativ deyil.
Seçim olaraq belə bir şey təklif edirəm migrationlarda mysql string tiplərinin digərlərini seçəsiniz string, tinyString, longText, MediumText
 
3

GameKing

Məhşur istifadəçi
Silver istifadeci
Qoşuldu
10 Sen 2022
Mesajlar
241
Reaksiya hesabı
122
Xallar
43
@LOCALHOST,

PHP:
$table->string('name', 191);

Bu usul da isleyir, lakin hazir birdefelik default length-i teyin etmek varken, her column ucun oturub 191 deyerin her sutuna gore tekrar-tekrar yazmaq mence mentiqli deyil, o ki qaldi performans baximindan her hansi bir problem yasamadim hemin kodu elave etdiyim zaman.
 
3

GameKing

Məhşur istifadəçi
Silver istifadeci
Qoşuldu
10 Sen 2022
Mesajlar
241
Reaksiya hesabı
122
Xallar
43
@LOCALHOST,
Onu da qeyd edim ki bu problem, laravel 7 versiyasinda hellini tapib, laravelin saytinda bu kod haqqinda etrafli qeyd olunub, her halda performansda problem yasansaydi resmi saytinda kodu istifafe etmeyi teklif etmezdiler.

Laravel 7.documentation
 
3

GameKing

Məhşur istifadəçi
Silver istifadeci
Qoşuldu
10 Sen 2022
Mesajlar
241
Reaksiya hesabı
122
Xallar
43
By default, Laravel uses the utf8mb4 character set. If you are running a version of MySQL older than the 5.7.7 release or MariaDB older than the 10.2.2 release, you may need to manually configure the default string length generated by migrations in order for MySQL to create indexes for them. You may configure the default string length by calling the Schema::defaultStringLength method within the boot method of your App\Providers\AppServiceProvider class:

PHP:
use Illuminate\Support\Facades\Schema;
 
/**
 * Bootstrap any application services.
 */
public function boot(): void
{
    Schema::defaultStringLength(191);
}

Alternatively, you may enable the innodb_large_prefix option for your database. Refer to your database's documentation for instructions on how to properly enable this option.


Varsayılan olaraq, Laravel utf8mb4 simvol dəstindən istifadə edir.

Əgər siz MySQL-in 5.7.7 versiyasından köhnə versiyanı və ya MariaDB-nin 10.2.2 versiyasından köhnə versiyasını işlədirsinizsə, MySQL-in onlar üçün indekslər yaratması üçün miqrasiyaların yaratdığı standart mətn uzunluğunu əl ilə konfiqurasiya etməlisiniz.

Proqramınızın boot metodu daxilində Schema::defaultStringLength metodunu çağıraraq standart mətn uzunluğunu konfiqurasiya edə bilərsiniz.

PHP:
use Illuminate\Support\Facades\Schema;
 
/**
 * Bootstrap any application services.
 */
public function boot(): void
{
    Schema::defaultStringLength(191);
}

Alternativ olaraq, db bazanız üçün innodb_large_prefix seçimini aktivləşdirə bilərsiniz.

Bu seçimi düzgün şəkildə aktivləşdirmək üçün təlimatlar üçün db bazanızın documentation bölməsinə baxın.
 
3

LOCALHOST

Məhşur istifadəçi
WebMaster
Qoşuldu
3 Sen 2022
Mesajlar
278
Reaksiya hesabı
125
Xallar
43
@LOCALHOST,

PHP:
$table->string('name', 191);

Bu usul da isleyir, lakin hazir birdefelik default length-i teyin etmek varken, her column ucun oturub 191 deyerin her sutuna gore tekrar-tekrar yazmaq mence mentiqli deyil, o ki qaldi performans baximindan her hansi bir problem yasamadim hemin kodu elave etdiyim zaman.
Bütün string typler üçün 191 seçmək üstün verən metod deyil çünki, bəzən elə column olar ki, sən orda sarəcə 5-10 symbole uzunluğda mətn saxlayarsan.
Birdə laravel nə qədər istifadəyə rahat və əlverişli olsada performans baxımından çox zəif olduğu rəsmi statistika qaynaqlarında təsdiqlənib.
Zatən performans baxımından zəif olan bir framework olduğunu Taylor özüdə bilir.

Mən qabağ app servis provayderdə View composer istifadə edirdim, hansı ki blade templateyə include edilmiş bladelərə data ötürmək üçün, istifadə olunması laravelin docsunda yazılsa belə.
Sonradan performansa nə qədər təsir etdiyini gördüm və bir çox tanıdığım şəxslərdə eyni fikirdədir mənlə
O docsda çox şey yazılır amma tətbiq edib etməməy seçim olaraq sənin əlindədir.
Mən sadəcə təklif etdim istəsəniz bu formada işlətməydə davam edə bilərsiniz
 
3

GameKing

Məhşur istifadəçi
Silver istifadeci
Qoşuldu
10 Sen 2022
Mesajlar
241
Reaksiya hesabı
122
Xallar
43
vscode terminalinda run recent command emrini ise saldigim zaman, poweshell & cmd uzerinde vermis oldugum kohne axtarislar gelir, men isteyirem ki hemin axtarislari sifirlayim, bunu vscode proqram uzerinden, Terminal: clear emrini ise saldigimda + windowsa restart verdiyimde teessuf ki yene hemin axtarislar oldugu kimi qalir, etrafli videodan baxa bilersiniz.
 
3

GameKing

Məhşur istifadəçi
Silver istifadeci
Qoşuldu
10 Sen 2022
Mesajlar
241
Reaksiya hesabı
122
Xallar
43
vscode terminalinda run recent command emrini ise saldigim zaman, poweshell & cmd uzerinde vermis oldugum kohne axtarislar gelir, men isteyirem ki hemin axtarislari sifirlayim, bunu vscode proqram uzerinden, Terminal: clear emrini ise saldigimda + windowsa restart verdiyimde teessuf ki yene hemin axtarislar oldugu kimi qalir, etrafli videodan baxa bilersiniz.
%userprofile%\AppData\Roaming\Microsoft\Windows\PowerShell\PSReadline\ConsoleHost_history.txt faylini sifirlayaraq problemi hell etdim.
 
2

SoxulcanPRO

Aktiv istifadəçi
WebMaster
Qoşuldu
26 Mar 2023
Mesajlar
82
Reaksiya hesabı
37
Xallar
18
"php artisan migrate" və "php artisan migrate:refresh" komandaları, Laravel'da verilənlər bazasındakı cədvəllərin yaradılmasına və ya yenilənməsinə kömək edir. Bu komandaların istifadəsində zaman-zaman problemlər yaranır. Bu problemlərin bir neçə səbəbi ola bilər, məsələn:

  • Verilənlər bazasına qoşulmaq mümkün olmadığından komandalar xətalı işləyir.
  • İstifadə edilən Laravel versiyası ilə verilənlər bazasının uyğun gəlməməsi.
  • Cədvəllərin düzgün yaradılmaması və s.
Bu problemləri həll etmək üçün aşağıdakı addımları nəzərdə tutmaq məqsədəuyğundur:

  1. "php artisan migrate" və ya "php artisan migrate:refresh" komandasından öncə verilənlər bazasına qoşulmaq mümkün olduğunu yoxlayın. Bunun üçün, bir MySQL müştərisi ilə verilənlər bazasına qoşulun və əmin olun ki, qoşulmaq mümkündür. Əgər qoşulmaq mümkün deyilsə, cədvəllərin yaradılması mümkün olmayacaq.
  2. Laravel versiyası ilə verilənlər bazası uyğun gəlmir. İstifadə etdiyiniz Laravel versiyasına uyğun gələn verilənlər bazasını yaratdığınızdan əmin olun. Əgər fərqli bir Laravel versiyası istifadə edirsinizsə, uyğun olan verilənlər bazasını yaratmaq üçün məlumatlandırma sənədlərini yoxlayın.
  3. Cədvəllərin düzgün yaradılmaması, səhvlərə səbəb ola bilər. "php artisan migrate" komandasını işlədikdən sonra, yaradılan cədvəlləri yoxlayın və düzgün yaradıldığını təsdiq edin. Əks halda, mövcud cədvəlləri silib yenidən yaratmağa çalışın.
  4. Laravel loglarını yoxlayın və xəta mesajlarına diqqət yetirin. Xəta mesajları, səhvə səbəb olan konfiqurasiya xətalarını və ya digər problemləri açıqlığa çıxara bilər.
  5. Komandaların icrası zamanı qarşılaşdığınız səhvlərin mənbəyini təyin edin
 
Üst