30/09/2018, 17:30
Hỏi về việc lựa chọn PHP framework, yếu tố và tiêu chí nào để chọn framework cho mình
Em vừa học xong cơ bản PHP Nhưng mà giờ phân vân chưa biết chọn thế nào cho mình một framework cho phù hợp cả!
Vậy em xin hỏi những người đi trước thì nhắm mắt chọn bừa hay là dựa vào đâu để lựa chọn cho mình một framework ạ?
Bài liên quan
em theo anh @laptrinhio để tầm sư nè.
Thứ nhất bạn phải nắm thật vững kiến thức PHP căn bản, sau đó hay học lập trình hướng đối tượng. XOng 2 cái đó rồi hãy nghĩ đến FW. Mỗi FW PHP đều có những đặc điểm với ưu điểm khác nhau, tùy thuộc vào mình.
Bạn lẹn xem tin tuyển dụng để biết bây giờ VN mình chuộng gì nhất. Mà nếu thích tốc đô thì Phalcon.
Cho mình hỏi cần cần tìm hiểu mô hình MVC trước khi qua học FW không? Mình thì đang học MVC trước khi học qua FW nhưng nó hơi khó và không có người kiểm tra đúng sai trong mô hình này.
Nên chuẩn bị trước MVC, OOP trước khi tiếp xúc framework. Nhưng chỉ nghiên cứu cơ bản, làm thử vài cái nhỏ nhỏ thôi, vì không phải ai cũng là “thần đồng” để có thể hiểu nhanh được. Xong cơ bản rồi bay vào FW, nó thực tế hơn.
Nếu được thử sử dụng codeigniter trước, vì CI đơn giản, dễ học, không hỗ trợ bạn quá nhiều thứ nên sẽ học được nhiều hơn.
anh @mrphu3074 nói chuẩn rồi đó bạn
Mình đang làm một bài tập theo mô hình MVC mà không biết nó đã đúng với mô hình đó chưa. Nếu không phiền thì mình đưa code cho bạn kiểm tra giúp mình với được không.
cứ post đủ code của 3 lớp đi bạn, mọi người cùng giúp.
Cứ tự nhiên như ở nhà nha bạn
Code và CSDL mình gom hết vào file trên.
?>
ở cuối file PHP.Bạn thử tham khảo code này nhé, đơn giản nè: https://github.com/simple-mvc-framework/framework
Cảm ơn bạn đã góp ý
Mình sợ loãng topic của người ta nên mình để lại fb. Bạn inbox qua mình hoặc add fr mình. Mình sẽ coi lại code bạn đưa và nghiên cứu lại rồi mình nhờ bạn kiểm tra giúp.
p.s. Fb tên hơi bựa :))
Sao ko dùng ?> ở cuối file vậy @kayz
Mình nhận xét 1 chút về app của bạn nhé, chỉ phần MVC thôi, không nói về syntax,…
=> Bạn chỉ mới tạo đúng về 3 folders chính thôi: controllers, models, views. Còn phần nôi dung thì hơi giống lúc đi học rồi, nghĩa là bạn lại viết theo hướng function, chưa đúng là OOP và chưa tổ chức đúng theo MVC.
###1. Model
Mỗi model liên quan trực tiếp với 1 thực thể (entity) trong hệ thống, và liên quan trực tiếp đến 1 table trong database, vì vậy nó đóng vai trò tương tác với db và xử lý logic liên quan đến thực thể đó.
Nhưng bạn đang dùng sai chức năng của Model
vd:
lớp Edit thực sự chả liên quan gì đến db hay đến 1 đối tượng cụ thể trong hệ thống cả.
Model Post có ý nghĩa hơn, nhưng methods cũng như tên file
chucnang_model
không ổn.###2. Controller
controller ChucNang, XemXoaSua không đúng vì Model là nơi xử lý logic, tương tác db cho đối tượng cụ thể, còn Controller là nơi điều hướng trung tâm cho 1 cụm chức năng cụ thể.
Mình thấy controller cũng khá ổn rồi, chỉ việc gom các actions trong controller thành các cụm chức năng thì tốt hơn.
###3. View
View tương đối ổn, vì cũng không có khó khăn gì ở phần này
##OOP
Thực ra phần này thực sự mình không nắm hết nên chỉ nhận xét ở mức cơ bản thôi:
####1)
Trong construct của lớp Model sẽ tạo ra 1 đối tượng database - tức là mở 1 db connection, vậy lớp Edit, Post cũng sẽ thừa kế việc tạo đối tượng db
=> Mới chỉ có 2 models là đủ để tạo ra > 1 đối tượng db trong hệ thống. Trong khi chúng ta chỉ cần 1.
VD:
Bạn tìm hiểu Singleton để giải quyết nhé.
####2)
Có sự lặp lại phần require_once, nên chuyển vào bootstrap hoặc làm phần autoload
####3)
Mình thấy cách bạn dùng model trong controller có phần chưa hợp lý, về phần require_once thì mình đã nói ở trên(nên đặt đâu đó để tránh lặp lại or tốt nhất dùng autoload). Controller ChucNang nên di chuyển phần tạo đối tượng Post và Upload_Img vào nơi nào cần dùng tới. VD: upload chỉ dùng trong thêm bài viết vậy khi vào quản lý bài viết thì sẽ dư thừa.
Mình chỉ đánh giá nhiêu đó thôi, mình thấy bạn làm vậy là hơn rất nhiều người và hơn mình nhiều lúc mới ra trường rồi. Nếu bạn cải thiện nó dần dần, thì sẽ rất chắc phần MVC hay OOP.
Khi để vậy rất dễ dính lỗi, đặt biệt là DOM, có khi bị 1 kí tự lạ , bạn thử mở các fw nổi tiếng xem, ko có file nào có ?> cả
Mình cảm ơn 2 bạn kayz và mrphu3074 đã có những góp ý giúp mình cải thiện kiến thức. Mình sẽ nghiên cứu lại MVC, OOP kỹ hơn sẽ có làm bài tập nữa về mô hình này nói chung là mình luyện cho kỹ . Mình có để lại fb các bạn kết bạn với mình. Khi nào mình làm bài tập xong mình nhờ các bạn góp ý và sửa sai giúp mình với.