0
내가 상속 한 코드를보고 있습니다. 모든 Model 클래스에서 "Select"쿼리를 수행하는 모든 메서드는 동일한 Model 클래스에서 "insert", "update", "delete"가 정적으로 선언되지 않은 경우 정적으로 선언되었습니다. 예를젠드 모델 클래스 - 정적 메서드로 선언 된 쿼리 선택
require_once 'Zend/Db/Table/Abstract.php'; class Model_Course extends Zend_Db_Table_Abstract { protected $_name = 'course'; public static function getCoursesByFaculty($faculty_id) { $courseModel = new self(); $select = $courseModel->select(); $select->setIntegrityCheck(false); $select->from('course', 'course.*'); $select->joinLeft('course_faculty', 'course.course_id = course_faculty.course_id'); $select->order(array('title')); $select->where('faculty_id = '.$faculty_id); return $courseModel->fetchAll($select); } }
를 들어
정적으로 이러한 방법을 선언하는 좋은 이유/장점이 있습니까? 내가 어떤 이점을 생각하기보다는 Modelclass처럼 쉽게 전화 해달라고
1 OP 코드를 깨기 위해 가능한 SQLinjection –
-1을 수정했습니다. $ this는 정적 메서드에서 작동하지 않습니다. – DarkMukke