سلام دوستان من این دو خط کدی که نوشتم اصلا برام کار نمیکنه لطفا شما هم یک بررسی کنین تا من بفهمم مشکل از کجاست ؟
یا یک مشکل نیست همگانیست ؟ :)
1 -
$conf=\\Config::get('services');
dd($conf);
2 -
dd (env('APPURL'));
دوستان مشکل اولم که توی قسمت کد نوشتم اینه که هر چیزی که به لیست services.php اضافه میکنم نمیشناسه و فقط همون سه تای از پیش تعریف شده ی خودش رو بر میگردونه ( یعنی mailgun,postmarks,see فقط همین سه تا اما چیزی که من اضافه کردم به لیست رو نه؟!!)
مشکل دوم : اینو اصلا null نمایش میده در صورتی که من توی فایل .env این متغیر رو مقدار دهی کردم
ورژن لاراولم : اخرین ورژن
ممنون از همه پیشاپیش
دستور php artisan config:clear
رو بزنید احتمال مشکلتون درست می شه . ولی در کل همیشه دستور php artisan optimize
بزنید تا همه کس ها پاک بشه و توی دولوپ راحت باشید
@h.r.hassani
سلام دوست عزیز و ممنون از راهنماییتون
دستوری که فرمودین رو اجرا کردم و مشکل اولم حل شد - اما مشکل دومم نه ؟
و یک سوال دیگه الان که دستور php artisan optimize رو میزنم چنین اروری نشون میده ؟مشکل کجاست؟
Configuration cache cleared!
Configuration cached successfully!
Route cache cleared!
LogicException
Unable to prepare route [api/user] for serialization. Uses Closure.
at F:\pe7\vendor\laravel\framework\src\Illuminate\Routing\Route.php:1150
1146| */
1147| public function prepareForSerialization()
1148| {
1149| if ($this->action['uses'] instanceof Closure) {
> 1150| throw new LogicException("Unable to prepare route [{$this->uri}] for serialization. Uses Closure.");
1151| }
1152|
1153| $this->compileRoute();
1154|
1 F:\pe7\vendor\laravel\framework\src\Illuminate\Foundation\Console\RouteCacheCommand.php:62
Illuminate\Routing\Route::prepareForSerialization()
2 F:\pe7\vendor\laravel\framework\src\Illuminate\Container\BoundMethod.php:37
Illuminate\Foundation\Console\RouteCacheCommand::handle()
@mohsen.mehri6101 سلام وقتتون بخیر.
دستور php artisan optimize
روتها رو کش میکنه و وقتی شما داخل یکی از روتهاتون از کنترلر استفاده نکردید و از Closure استفاده کردید، امکان کش کردن روتها وجود نداره برای همین این ارور رو میده.
یا اون روتی که از Closure استفاده کرده رو ببرید داخل کنترلر یا امکان کش کردن روتها رو ندارید.
Route::get('/some/route', function() { return 'Hello World'; })
اگر نمیدونید Closure چیه به اون تابعی که به عنوان پارامتر پاس داده میشه به روتها Closure هستن ( وقتی controller action باشه یعنی مثلا "HomeController@index" در این صورت Closure نیست. )
این لینک رو هم میتونید مطالعه کنید.
@hesammousavi سلام اقا من پاسخ بالا رو هر کاری میکنم اخر پاسخ خودش یه ``` اضافه میکنه خراب میشه. چندین بار پاسخ رو پاک کردم دوباره گزاشتم بازم این اتفاق افتاد. توی یه بحث دیگه هم میخواستم پاسخ بدم این اتفاق افتاد.
ممنون میشم یه بررسی بکنید :)
@MehdiAghighi
احتمالا از یک کاراکتر مشکل ساز استفاده کردید بدونه اینکه بدونید در اون کد با حذف اون کد و کپی دوبارهاش از یجای دیگه درست شد
@MehdiAghighi
سلام ممنون آقا مهدی - تشکر از جواب کاملتون
ولی نمیدونم چرا خب تابع env کار نمیکنه ؟!منظور با پاک کردن کش اون مشکل قبلی حذف شد اما هنوز این مشکل پابرجاست؟!
هر چی dd میگیرم از تابع env همه رو null برمیگردونه؟!
@mohsen.mehri6101 خواهش میکنم :)
الان من دیدم شما APPURL رو خواستید از تابع env بگیرید. مطمئنید که همچین مقداری رو تعریف کردید ؟ اگر باشه کش رو هم پاک کرده باشید باید درست کار کنه
@mohsen.mehri6101
این تو خود سایت لاراول اومده که اگر config هاتون رو کش کنید تابع env مقدار null رو برمی گردونه. حالا اگر این دستورات رو زدید و بازم مشکل دارید برید bootstrap/cache/config.php رو به جای دیگه منتقل کنید تا لاراول دوباره همه رو کش کنه . اما اگر مشکل پیدا کردید فایل قبلی رو برگردونید
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟