Phân tích Project Website nghe nhạc làm từ Laravel của Sharecode.vn
1. Thông tin project
- Nguồn trang: https://sharecode.vn/source-code/share-website-nghe-nhac-online-framework-laravel-php-9117.htm
- Link down mã nguồn: https://drive.google.com/file/d/0B3sw9NzLrslES0l2dURteDdBd2M/view
- – Website demo trên framework Laravel (Framework phổ biến nhất hiện nay)
- – Sử dụng mô hình MVC
- – Các chức năng chính là : quản lý ca sĩ , nhạc sĩ , bài hát và play nhạc.
- – Giao diện được làm bằng bootstrap
- – Các chức năng chỉ là cơ bản để các bạn có thể tìm tòi và phát triển thêm nếu yêu thích.
2. Cơ sở dữ liệu
Mình thấy cách làm này không khả quan, không có sự liên kết giữa các bảng, phải lưu thông tin trùng ở khá nhiều bảng. Cơ sở dữ liệu này chưa chuẩn cũng như chưa phù hợp.
3. Những điều tôi học được từ project này
1. as là một cách để đặt tên cho Route. as là tên của route còn prefix mới là url nhé!
Route::get('/',['as'=>'MyRoute',function(){ return view('index'); }]);
2. Sử dụng paginate mà laravel tạo sẵn để phân trang
Mình đã có hướng dẫn phân trang trong Laravel rồi các bạn xem bài viết nhé.
public function index() { $data = ArtistMod::paginate(10); // Lay het du lieu return view('artists.index')->with('v_artist',$data); }
3. Truyền biến sang view
with('tenBienQuaView', $tenBienController) // nhưng tui thích dùng cách dưới này hơn with( compact('tenBien1', 'tenBien2') ) //cách này thì tenBien vừa là tên biến qua view vừa là tên biến của controller
4. Sử dụng các hàm tạo sẵn của Eloquent cho model sẽ xử lý nhanh hơn khi CRUD theo id. Nên kết hợp với Resource. Mình đã có chia sẻ về CRUD resource rồi.
- Khai báo route:
Route::resource('artists','ArtistCtrl');
- Hiển thị dữ liệu, sử dụng all()
public function index() { $data = ArtistMod::all(); // Lay het du lieu return view('artists.insert')->with('v_artist',$data); }
- Lưu dữ liệu từ form, sử dụng create()
public function store(Request $request) { // Lay gia tri tu form $input = $request->all(); // Luu tat ca cac input tu form vao database ArtistMod::create($input); // Hien thi lai Form - Bao thanh cong return redirect()->back()->with('insert_task_message','Insert sucessfully'); }
- Tìm kiếm một dữ liệu theo id, sử dụng findOrFail()
public function show($id) { $data = ArtistMod::findOrFail($id); return view('artists.show')->with('v_artist',$data); }
- Cập nhật dữ liệu
public function update(Request $request, $id) { $artist = ArtistMod::findOrFail($id); $input = $request->all(); $artist->fill($input)->save(); return redirect()->back()->with('update_task_message','Update sucessfully'); }
- Xóa dữ liệu
public function destroy($id) { $data = ArtistMod::findOrFail($id); $data->delete(); return redirect()->back()->with('delete_task_message','Delete sucessfully'); }
Kết Luận
Trên đây là những gì tôi tìm hiểu, nghiên cứu về project âm nhạc này, và tui đã chia sẻ nó trong bài viết. Cảm ơn các bạn đã xem bài viết, có thắc mắc gì cứ để lại bình luận phía dưới nhé!