สอบถาม laravel สร้าง Folder แล้วอ่านไม่เจอครับ

เริ่มโดย JumDaiDee, 19 กันยายน 2014, 17:09:24

หัวข้อก่อนหน้า - หัวข้อถัดไป

0 สมาชิก และ 1 ผู้มาเยือน กำลังดูหัวข้อนี้

JumDaiDee

พอดีผมสร้าง Folder ชื่อว่า member
ใน views/member
แต่พอรัน localhost/laravel/member มันอ่านไม่เจอครับ

models/Member.php
อ้างถึง<?php
class Member extends Eloquent {
    public $timestamps = false;
    protected $table = 'user'; // ชื่อตาราง
}
?>

แล้วผมก็สร้าง views/member/index.blade.php

แล้วผมก็สร้าง controllers/MemberController.php
อ้างถึง<?php
class MemberController extends BaseController {
    public function indexAction(){ // ชื่อ Action
        return View::make('member/index'); // member ชื่อโฟล์เดอร์ และ index ชื่อไฟล์ index.blade.php
    }
}
?>

แล้วผมก็ไปแก้ ไฟล์  routes.php
อ้างถึง<?php
Route::any(
    "member", // ชื่อที่กรอกใน URL
    [
        "as" => "member/index", // ชื่อ Controller และ Action ที่ต้องการวิ่งเข้าไปหา
        "uses" => "MemberController@indexAction" // ชื่อ Controller และ Action ที่ต้องการวิ่งเข้าไปหา
    ]
);
?>

ผมทดสอบรัน
localhost/laravel/ ด้วย
Route::get('/','MemberController@indexAction');
ปรากฏว่ารันได้

ผมลองทดสอบแบบรัน member
Route::any(
    "member", // ชื่อที่กรอกใน URL
    [
        "as" => "member/index", // ชื่อ Controller และ Action ที่ต้องการวิ่งเข้าไปหา
        "uses" => "MemberController@indexAction" // ชื่อ Controller และ Action ที่ต้องการวิ่งเข้าไปหา
    ]
);
มันหา folder member ไม่เจอครับ

อ้างถึงNot Found

The requested URL /laravel/member was not found on this server.
Apache/2.4.7 (Ubuntu) Server at localhost Port 80
สินค้าออนไลน์ https://www.shoppook.com/product | โปรแกรมออนไลน์ : https://appnon.com

JumDaiDee

#1
แล้ว ผมก็ลองรัน แบบมันขึ้น แทรก index.php ระบบ member

http://localhost/laravel/index.php/member/

ผมต้องแก้ไขอะไร อย่างไร หรือเปล่าครับผม
สินค้าออนไลน์ https://www.shoppook.com/product | โปรแกรมออนไลน์ : https://appnon.com

kanin03

#2
return View::make('member.index');

Route

Route::get('member', 'MemberController@indexAction');


http://localhost/laravel/public/member

เพิ่มเติมถ้าจะใช้ name route ลอง
return View::make('member.index');

Route::get('member', array(
   'as' => 'member',
   'uses' => 'MemberController@indexAction'
));

แต่จริงๆแล้ว url แค่นี้ไม่ต้องใช้ name route หลอกครับมันเอาไว้ใช้เวลา path เรายาวๆ เช่น
Route::get('member/show/all', array(
   'as' => 'member',
   'uses' => 'MemberController@indexAction'
));

แบบนี้ถึงจะใช้ name route ให้มันสั้นลง
แล้วเวลาจะใช้งานก็เช่น
$redirect = Redirect::route('member');
จะเห็นว่าไม่ต้องเขียน path ยาวๆ

แต่ส่วนตัวผมไม่ได้ใช้เลยเพราะว่าใช้แล้ว งง เองเวลาเร้า =-=  :wanwan004:



9wong

return View::make('member/index');
แก้เป็น member.index ครับ
ถ้าจะส่งผ่านข้อมูลไปยัง view ก็ใช้
$data = array('user' => $user);
return View::make('member.index,$data);

ถ้าใน member มีฟังก์ชั่นเยอะ ใช้  Route::resource('member','MemberController') เอาครับ มันจะเป็น RESTful

เวลารันนเซิฟลองใช้ php artisan ครับ แล้วสั่งคอมมานเป็น

อ้างถึงphp artisan serv

แล้วเข้าผ่าน http://localhost:8000

ผมใช้ mamp นะครับเวลาจำลอง server แล้วก็กำหนด path ไปที่ public  :wanwan019:

ดูงงๆไหมครับ แนะนเว็บที่สอนเจ๋งๆ https://laracasts.com/ ครับ

JumDaiDee

ขอบคุณครับ เดี๋ยวจะนำลองไปประยุกต์ใช้ครับ
+1 สำคำแนะนำครับ

:wanwan017: :wanwan017:
สินค้าออนไลน์ https://www.shoppook.com/product | โปรแกรมออนไลน์ : https://appnon.com

markesesr

อ้างถึงจาก: kanin03 ใน 19 กันยายน 2014, 23:08:29
return View::make('member.index');

Route

Route::get('member', 'MemberController@indexAction');


http://localhost/laravel/public/member

เพิ่มเติมถ้าจะใช้ alias ลอง
return View::make('member.index');

Route::get('member', array(
    'as' => 'member',
    'uses' => 'MemberController@indexAction'
));

แต่จริงๆแล้ว url แค่นี้ไม่ต้องใช้ alias หลอกครับมันเอาไว้ใช้เวลา path เรายาวๆ เช่น
Route::get('member/show/all', array(
    'as' => 'member',
    'uses' => 'MemberController@indexAction'
));

แบบนี้ถึงจะใช้ alias ให้มันสั้นลง
แล้วเวลาจะใช้งานก็เช่น
$redirect = Redirect::route('member');
จะเห็นว่าไม่ต้องเขียน path ยาวๆ

แต่ส่วนตัวผมไม่ได้ใช้เลยเพราะว่าใช้แล้ว งง เองเวลาเร้า =-=  :wanwan004:




Route แบบนี้เขาเรียก Alias หรอครับ  :-X
Route::get('member', array(
    'as' => 'member',
    'uses' => 'MemberController@indexAction'
));

ผมว่าไม่น่าจะใช่นะครับ มันคือ Named Route มะใช่หรอ

ส่วน Aliases มันเป็นตัวแปรที่ถูกเรียกเมื่อเริ่มต้นแอพพิลเคชั่น  มะใช่หรอ

kanin03

อ่าผมเข้าใจผิดเองครับ

อย่างที่บอกผมไม่เคยใช้ name route เลยแต่เห็น จขกท. ถามมาเลย search google คำแรกที่คิดได้คือ alias แล้วมันเจอเหะๆ ก็เลยเข้าไปดูที่ doc แต่ไม่ได้สังเกตุหัวข้อว่ามันคือ name route

ว่าแต่ alias นี่มันอยู่ตรงไหนนะครับ ขอ ตย. หน่อยครับ  :wanwan017:

markesesr

อ้างถึงจาก: kanin03 ใน 21 กันยายน 2014, 02:52:48
อ่าผมเข้าใจผิดเองครับ

อย่างที่บอกผมไม่เคยใช้ name route เลยแต่เห็น จขกท. ถามมาเลย search google คำแรกที่คิดได้คือ alias แล้วมันเจอเหะๆ ก็เลยเข้าไปดูที่ doc แต่ไม่ได้สังเกตุหัวข้อว่ามันคือ name route

ว่าแต่ alias นี่มันอยู่ตรงไหนนะครับ ขอ ตย. หน่อยครับ  :wanwan017:

นี่ครับ


kanin03

อ่อ ไอ่ตาราง map class นี่เองไม่เคยสังเกตชื่อเลยเหะๆ ขอบคุณครับ  :wanwan017:

แต่จริงๆ คำว่า alias แปลแล้วมันก็ได้ประมาณว่านามแฝงนะครับเหมือนเอา อย่างนึงไป map กับอีกอย่างนึง