Laravel service provider

Член од
1 февруари 2007
Мислења
392
Поени од реакции
13
имам константа
Код:
const METRICS = [skopje,struga, veles]
и треба преку service provider да ја направам достапна на цел проект како ајде помагајте
 
Член од
26 јануари 2009
Мислења
8.064
Поени од реакции
9.142
Отвори AppServiceProvider во App\Providers во register методот стави го ова:
PHP:
public function register()
{
    $this->app->bind('METRICS', function(){
        return ['Skopje','Struga', 'Veles'];
    })
}
и после во home web рутата пробај
PHP:
Route::get('/', function () {

    dd(app()->make('METRICS'));
 
});
и не ми е јасно што ќе ти е ова да го бајндаш, ова ако ти е константа слободно можеш во конфиг фајл да го ставиш и преку глобалната config() функција да го земаш кај сакаш...
 
Член од
1 февруари 2007
Мислења
392
Поени од реакции
13
Отвори AppServiceProvider во App\Providers во register методот стави го ова:
PHP:
public function register()
{
    $this->app->bind('METRICS', function(){
        return ['Skopje','Struga', 'Veles'];
    })
}
и после во home web рутата пробај
PHP:
Route::get('/', function () {

    dd(app()->make('METRICS'));

});
и не ми е јасно што ќе ти е ова да го бајндаш, ова ако ти е константа слободно можеш во конфиг фајл да го ставиш и преку глобалната config() функција да го земаш кај сакаш...
Јас мислам дека така треба ама со знам а за конфиг мислиш у .env aj ако не ти емака подобјасни
 
Член од
26 јануари 2009
Мислења
8.064
Поени од реакции
9.142
Јас мислам дека така треба ама со знам а за конфиг мислиш у .env aj ако не ти емака подобјасни
Во App\Config креирај фајл metrics.php во фајлот само ова
PHP:
<?php
    return ['Skopje','Struga','Veles'];
после во home web рутата пробај

PHP:
Route::get('/', function () {

    dd(config('metrics'));
 
});
 
Член од
25 јули 2014
Мислења
687
Поени од реакции
1.152
И како ќе стави низа во .env?
Nema da stavi niza, ke go refaktorira kodot :)
Автоматски споено мислење:

...Ili ednostavno neka ja hardcodira vo config/metrics.php i neka ja importira vo service provider so require_once
 
Последно уредено:
Член од
26 јануари 2009
Мислења
8.064
Поени од реакции
9.142
Nema da stavi niza, ke go refaktorira kodot :)
Автоматски споено мислење:

...Ili ednostavno neka ja hardcodira vo config/metrics.php i neka ja importira vo service provider so require_once
Нема потреба, затоа постојат конфиг фајлови во ларавел, не е тоа намената на .env, во .env се става конфигурација која варира во зависност од околината во која ти се наоѓа кодот - локално, стејџ или продукција, ради тоа и не го верзионираш тој фајл во гит и ради тоа и се вика енвајормент фајл. Зошто би ставал константа во енв па макар и за стринг да се работи?
 
Член од
25 јули 2014
Мислења
687
Поени од реакции
1.152
Нема потреба, затоа постојат конфиг фајлови во ларавел, не е тоа намената на .env, во .env се става конфигурација која варира во зависност од околината во која ти се наоѓа кодот - локално, стејџ или продукција, ради тоа и не го верзионираш тој фајл во гит и ради тоа и се вика енвајормент фајл. Зошто би ставал константа во енв па макар и за стринг да се работи?
Pa bash kako shto vikash, zatoa shto mozebi se raboti za podatoci koi se specificni vo zavisnost od okolinata. Mnogu od konstantite se koristat i od poshirokiot ekosistem (bash skripti, dokeri, raneri, CI/CD pajplajni). Vaka ke mozat na naj-clean nacin da dojdat do site konstanti sto im trebaat bez da burickaat vo php fajlovi.
PS: i ako frejmworkot vo koj sto rabotish nema nekoj unificiran nachin na cuvanje konfig, ili ne ni koristish frejmwork, .env fajlot moze da ti posluzi za celiot konfig.
 
Член од
26 јануари 2009
Мислења
8.064
Поени од реакции
9.142
Pa bash kako shto vikash, zatoa shto mozebi se raboti za podatoci koi se specificni vo zavisnost od okolinata. Mnogu od konstantite se koristat i od poshirokiot ekosistem (bash skripti, dokeri, raneri, CI/CD pajplajni). Vaka ke mozat na naj-clean nacin da dojdat do site konstanti sto im trebaat bez da burickaat vo php fajlovi.
PS: i ako frejmworkot vo koj sto rabotish nema nekoj unificiran nachin na cuvanje konfig, ili ne ni koristish frejmwork, .env fajlot moze da ti posluzi za celiot konfig.
Збориме за константа [Skopje, Veles, Struga] која веројатно планира да ја користи во код, не креденцијали за некој сервис.
 
Член од
16 јануари 2013
Мислења
1.785
Поени од реакции
2.317
имам константа
Код:
const METRICS = [skopje,struga, veles]
и треба преку service provider да ја направам достапна на цел проект како ајде помагајте
А да направиш Helper фајл со класа и да ја повикуваш како Helper::METRICS
 
Член од
26 јануари 2009
Мислења
8.064
Поени од реакции
9.142
А да направиш Helper фајл со класа и да ја повикуваш како Helper::METRICS
Pa bash kako shto vikash, zatoa shto mozebi se raboti za podatoci koi se specificni vo zavisnost od okolinata. Mnogu od konstantite se koristat i od poshirokiot ekosistem (bash skripti, dokeri, raneri, CI/CD pajplajni). Vaka ke mozat na naj-clean nacin da dojdat do site konstanti sto im trebaat bez da burickaat vo php fajlovi.
PS: i ako frejmworkot vo koj sto rabotish nema nekoj unificiran nachin na cuvanje konfig, ili ne ni koristish frejmwork, .env fajlot moze da ti posluzi za celiot konfig.
Не сум те дочитал.
Ова држи вода ако не користиш фрејмворк. Да креираш хелпер/конфиг фајл (процедурален начин) кој ги инклудува сите различни конфиг фајлови во кои имаш константи од типот define('CATEGORIES', ['Cheap cars', 'Luxury cars', 'Second hand cars']) итн и после само му праиш require_once на овој фајл таму кај што ти треба и си ги користиш константите во скриптата. Објектно ориентиран начин би вклучил креирање на класа со статички гетер и сетер методи и статичка варијабла со private scope која во сетерот би и била назначена асоцијативна низа од key-value pairs. Како би ја сетирал низата? Би креирал конфиг директори од разни конфиг класи, секоја класа би била задолжена да имплементира метод кој би се викал отприлика returnConfigValues и би враќал асоцијативна низа од config key-value pairs специфични за таа класа, би ги земал имињата на сите класи од тоа директори (постојат повеќе начини, има и пакети), во луп би ги инстанцирал и би го повикал методот returnConfigValues со кој би ја полнел низата во која бејс името на секоја класа од конфиг директориумот би бил клуч. И после гетерот би ми примал два аргументи, првиот би бил името на конфиг класата, вториот клуч името на соодветната константа/варијабла која би требало да ја држи конфиг вредноста. И све ова под услов дека овие податоци не треба да се чуваат во база.
 
Последно уредено:
Член од
16 јануари 2013
Мислења
1.785
Поени од реакции
2.317
Не сум те дочитал.
Ова држи вода ако не користиш фрејмворк. Да креираш хелпер/конфиг фајл (процедурален начин) кој ги инклудува сите различни конфиг фајлови во кои имаш константи од типот define('CATEGORIES', ['Cheap cars', 'Luxury cars', 'Second hand cars']) итн и после само му праиш require_once на овој фајл таму кај што ти треба и си ги користиш константите во скриптата. Објектно ориентиран начин би вклучил креирање на класа со статички гетер и сетер методи и статичка варијабла со private scope која во сетерот би и била назначена асоцијативна низа од key-value pairs. Како би ја сетирал низата? Би креирал конфиг директори од разни конфиг класи, секоја класа би била задолжена да имплементира метод кој би се викал отприлика returnConfigValues и би враќал асоцијативна низа од config key-value pairs специфични за таа класа, би ги земал имињата на сите класи од тоа директори (постојат повеќе начини, има и пакети), во луп би ги инстанцирал и би го повикал методот returnConfigValues со кој би ја полнел низата во која бејс името на секоја класа од конфиг директориумот би бил клуч. И после гетерот би ми примал два аргументи, првиот би бил името на конфиг класата, вториот клуч името на соодветната константа/варијабла која би требало да ја држи конфиг вредноста. И све ова под услов дека овие податоци не треба да се чуваат во база.
За да пристапиш до константи не требаат ни гетери ни сетери.
 
Член од
26 јануари 2009
Мислења
8.064
Поени од реакции
9.142
За да пристапиш до константи не требаат ни гетери ни сетери.
А кој спомна константи? Зборам за статичко проперти со приватен скоуп на една класа кое содржи низа од сите конфиг вредности. Не треба да смееш да пристапуваш директно пошто не треба да смееш да го мењаш од надвор, ради тоа имаш гетер и кога ќе размислам подобро не ти треба ни сетер туку во конструктор ќе ја сетираш низата кога ќе ја инстанцираш конфиг класата.
Автоматски споено мислење:

п.с реков праиме муабет ако не користиш ларавел, ако користиш си имаш конфиг фајлови и не се замараш
 
Член од
16 јануари 2013
Мислења
1.785
Поени од реакции
2.317
А кој спомна константи? Зборам за статичко проперти со приватен скоуп на една класа кое содржи низа од сите конфиг вредности. Не треба да смееш да пристапуваш директно пошто не треба да смееш да го мењаш од надвор, ради тоа имаш гетер и кога ќе размислам подобро не ти треба ни сетер туку во конструктор ќе ја сетираш низата кога ќе ја инстанцираш конфиг класата.
Автоматски споено мислење:

п.с реков праиме муабет ако не користиш ларавел, ако користиш си имаш конфиг фајлови и не се замараш
имам константа
Код:
const METRICS = [skopje,struga, veles]
и треба преку service provider да ја направам достапна на цел проект како ајде помагајте
 
На врв Bottom