ورود

View Full Version : پیدا نکردن controllers



asefy2008
سه شنبه 05 بهمن 1395, 03:02 صبح
سلام دوستان
من از کد زیر در ریشه سایت استفاده کردم اما پیغام زیر میده

// Authentication routes...Route::get('auth/login','Auth\AuthController@getLogin');
Route::post('auth/login', 'Auth\AuthController@postLogin');
Route::get('auth/logout', 'Auth\AuthController@getLogout');


// Registration routes...
Route::get('auth/register', 'Auth\AuthController@getRegister');
Route::post('auth/register', 'Auth\AuthController@postRegister');


Whoops, looks like something went wrong.1/1ReflectionException in compiled.php line 1479:Class App\Http\Controllers\Auth\AuthController does not exist
من همه قسمت ها غیر از پابلیک رو در فولدری به اسم لاراول قرار دادم و فایل های داخل پابلیک هم در کنار لاراول قرار دادم

plague
سه شنبه 05 بهمن 1395, 14:00 عصر
من نمیدونم شما چیکار کردی دقیقا ولی اصلا یازی به اینکارا نیست
خوده لاراول auth رو میسازه و توی route آدرس دهی میکنه با یه کلمه

Route::auth();


حتی قالبشون رو هم خودش میسازه و لینک دهی میکنه

کافیه که از دستور
php artisan make:auth
استفاده کنی تا خودش ترتیبه اینا رو بده


در مورد فایل ها که جابجا کردی توی یک پوشه من انجام ندادم و نمیدونم اصلا میشه یا نه
ولی اگه هم بشه شما باید فایل index.php توی پابلیک رو باز کنی و آدرس ها رو تصحیح کنی
تا بتونه فریمورک و فایل هاش رو پیدا کنه

asefy2008
سه شنبه 05 بهمن 1395, 14:29 عصر
ممنون از پاسختون
در index.php آدرس تصحیح کردم صفحه اول رو نشون داد اما الان نمی تونه کنترلر پیدا کنه
در cmd این php artisan route : list تایپ کردم اما میگه پیدا نمی کنم
الان وقتی میرم داخل پابلیک صفحه اول نمایش میده هدف من این هست تو همون ریشه این کار انجام بده مثلا نیاز نباشه بزنم http://localhost/laravel/public فقط http://localhost/public بزنم
ببخشید اگه سوالم ابتدایی هست یکمی تو این زمینه مبتدی هستم

asefy2008
سه شنبه 05 بهمن 1395, 16:29 عصر
الان کدهایی که شما قرار دادید امتحان کردم تقریبا بخش زیادی از مشکلم حل شد. ممنون
اگه برای مشکل بالا راه حل دارید خوشحال میشم بدونم همون طور که گفتم هدفم این هست که تو همون ریشه سایت فراخونی بشه به طور پیش فرض
من از xampp استفاده می کنم

plague
سه شنبه 05 بهمن 1395, 18:34 عصر
ببینید localhost جایی که شما همه پروژه هاتون رو روی کامپیوتر خودتون دارید به عبارت دیگه سرورتونه
شما باید به ازای هر پروژه یه فولدر بسازید مثلا الان پروژه شما در فولدر laravel قرار داره به عبارت دیگه به ازای هر سایت توی سرور یه هاست میسازید
اگه قرار باشه اون فولدر پروژه رو بردارید همه پروژه هاتون با هم قاطی میشن !

من با wamp کار میکنم نمیدونم ساختار xamp به چه شکله ولی کافیه پیدا کنید localhost رو توی مرورگر بزنید تو چه فولدری باز میشه
به عبارت دیگه محتوای فولدر laravel رو میتونید کپی کنید بیارید یه دایرکتوری عقب تر بزارید
در کل توصیه نمیکنم به دلیلی که بالا گفتم و این مشکل رو وقت سایت آپلود کنید خود به خود حل میشه

asefy2008
سه شنبه 05 بهمن 1395, 18:57 عصر
ممنون از توضیح کاملتون
چطور این مشکل وقتی سایت آپلود کنم حل میشه؟(تا حالا آپلود نکردم)
بد توضیح دادم من می خوام پروژم در یک فولدر مثلا laravel داخل لوکال هاست باشه اما الان من باید اول laravel بزنم بعد برم داخل public که صفحه اول سایتم بالا بیاد. درست بگم با آدرس سایت مشکل دارم نه اینکه در چه فولدری هست.اگه صفحه اول با همون زدن laravel بالا بیاد هیچ مشکلی ندارم که کجا هست. البته چون من تا حالا سایت آپلود نکردم شاید دیدم نادرست باشه.
تمام مشکلم با راهنماییتون حل شد.
ممنون از راهنماییتون

plague
چهارشنبه 06 بهمن 1395, 12:34 عصر
مسیر فولدر پروژه رو نامش تاثیر داره
مثل اینه که یه فایل رو بخاید صدا بزنید از توی کامپیوتر اون مسیرش مهمه
و تو نامی که وارد میکنی تاثیر داره مثلا اگه تو درایو c باشه باید بزنید

c:\file.exe
اگه تو فولدر larvel باشه باید بزنید
c:\laravel\file.exe

فایل php هم به همین شکله , فولدری که فایل توشه روی نامی که باهاش اجرا میشه تاثیر میزاره

وقتی آنلاین ببرید نام سایت یعنی www.site.com جایگزین این تیکه میشه localhost/laravel دیگه نیاز نیست اینا رو بزنید توی Url

pyramid_ali
جمعه 08 بهمن 1395, 00:07 صبح
دوست عزیز شما خیلی راحت میتونی با دستور php artisan serve سرور خود لاراول رو بیاری بالا (به طور پیش فرض آدرس localhost:8000 رو میگیره به خودش) و از شر چیزی که بالا گفتید راحتتون میکنه! نیازی هم نیست که فولدرتون توی جای خاصی مثله htdocs قرار بگیره! ولی اگه مصر به استفاده از xampp هستید بهترین کاری که میشه کرد که من خودمم انجام میدم اینه که یدونه virtual host برای آپاچی بسازید و هر دامنه ی دلخواهی که دوست دارید رو بهش بدید و برای تست از اون دامنه استفاده کنید!


در مورد روش اول باید بگم که دستور php artisan serve باید حتما توی خود دایرکتوری ریشه لاراول انجام بشه که یک چیز بدیهیه، ولی دوستانی که با کامندلاین کار نکردن شاید دچار اشتباه بشن! و در ضمن منظور از اینکه نیازی نیست که فولدرتون توی htdocs باشه به این مفهوم نیست که نیازی به نصب xampp ندارید! شما به xampp برای php و apache و mysql اش نیاز دارید!


در مورد روش دوم باید این کار رو بکنید:
اول به مسیری که xampp رو توش نصب کردید برید و مسیر \apache\conf\extra رو دنبال کنید! بعدش فایل httpd-vhosts.conf رو با نوت پد باز کنید و کد زیر رو به انتهای فایل اضافه کنید (بدون اینکه داخل تگ دیگه ای باشه)




<VirtualHost *:80>
DocumentRoot "مسیر مطلق به پوشه ی پابلیک لاراول"
ServerName دامین مورد نظر

<Directory "مسیر مطلق به پوشه ی پابلیک لاراول">
Options Indexes FollowSymLinks
AllowOverride all
Order Deny,Allow
Deny from all
Allow from all
</Directory>
</VirtualHost>


که مسیر مطلق مثلا میشه "C:/xampp/htdocs/laravel/public" و برای دامنه هم میشه مثلا laravel.dev
یعنی بهتره که کلا از دامنه ی dev استفاده کنید که با دامنه ی واقعی ای توی وب مشکل نداشته باشه!

قدم بعدی هم تغییر فایل host هست که از مسیر C:\Windows\System32\drivers\etc میتونید بهش دسترسی پیدا کنید و خط


127.0.0.1 laravel.dev


رو به آخر فایل اضافه کنید و اونو ذخیره کنید! حالا یه بار apache زمپ رو ریست کنید و سایتتون رو میتونید ببینید که روی دامنه ی laravel.dev میاد بالا! البته نکته ای که هست اینه که برای ادیت فایل host اول notepad رو با run as administrator اجرا کنید و بعد از منوی open فایل رو باز کنید یا اگه از Notepadd++ استفاده می کنید که خودش موقع ذخیره میگه که باید برنامه رو در حالت admin اجرا کنید و مشکلی از این بابت وجود نداره!
سعی کردم تا اونجا که میشه آسون و دقیق توضیح بدم تا مشکلی پیش نیاد! اگر نتونستید این کار رو انجام بدید بگید مشکل کجاست که بتونم بهتر راهنمایی کنم!