PHP에서 프레임 워크가 정말로 필요한가요?
하나를 사용할 때의 장단점은 무엇입니까?
PHP에서 프레임 워크가 정말로 필요한가요?
하나를 사용할 때의 장단점은 무엇입니까?
답변:
아뇨. 그러나 그들은 좋습니다.
장점 : 코드를 직접 다시 작성하지 않아도되는 시간이 절약됩니다. 다른 사람이 프로젝트에 적용한 수많은 기능, 기능 및 데이터 구조를 사용하십시오.
단점 : 코드를 직접 작성하지 않으면 프로젝트가 운영되는 기초에 대한 이해도가 높아질 수 있습니다.
웹 응용 프로그램 프레임 워크는 경험이있는 것만 큼 좋습니다.
모든 프레임 워크에는 학습 곡선이 있습니다. 해당 곡선을 극복 할 때까지는 프레임 워크 사용의 모든 이점을 무효화 할 수 있도록 작업을 거꾸로 수행해야 할 것입니다. 새로운 버전의 프레임 워크가 릴리스되면 응용 프로그램 개발이 불필요하게 느리게 진행되고 코드를 따르기가 어려워지고 모든 것이 깨질 것입니다. 마감 시간이 촉박 한 프로젝트에 익숙하지 않은 프레임 워크 (또는 익숙하지 않은 기술)를 사용하지 않는 것이 좋습니다.
프레임 워크를 어떻게 더 잘 활용할 수 있습니까?
당신은 신의 끔찍한 응용 프로그램을 구축하고 반복해야합니다. 결국 단점을 파악할 수 있으며 프레임 워크를 사용하면 개발 시간을 단축하고 코드를 체계적으로 정리할 수 있습니다.
PHP 프레임 워크를 사용해야합니까?
충분한 PHP를 코딩하는 사람은 결국 프레임 워크를 사용합니다. 문제는 자신의 프레임 워크를 사용하거나 타사에서 개발 한 프레임 워크를 사용하는 것입니까? 내 경험상, 타사 프레임 워크의 견고성과 품질에 맞는 자체 프레임 워크를 개발하지 않을 것입니다. 즉, 자신의 프레임 워크를 개발하는 것이 PHP 커뮤니티에서 통과 할 수있는 것 같습니다. 따라서 자신의 데이터베이스 추상화 클래스를 작성하지 못하게하십시오.
유용한 그래프는 다음과 같습니다.
Rasmus Lerdorf 에 따르면 PHP 자체가 프레임 워크이므로 추가 프레임 워크가 필요하지 않습니다. http://toys.lerdorf.com/archives/38-The-no-framework-PHP-MVC-framework.html
글쎄, 그것은 실제로 프로젝트의 크기에 달려 있습니다. 데이터베이스가없고 10 페이지를 넘지 않는 홈페이지 인 프레임 워크는 너무 커질 것입니다. 주로 프레임 워크는 대부분의 경우 특정 요구에 맞게 많은 구성과 사용자 지정이 필요하기 때문입니다. 그리고 어떤 상황에서는 파일에 포함 된 여러 페이지보다 약간 느릴 수 있습니다 (기능을 사용하려면 모든 프레임 워크를로드해야한다고 생각하십시오).
이제 데이터베이스 상호 작용, 웹 서비스 등을 사용하여 중간 규모 / 대형 사이트를 계획하는 경우 다양한 기술과 상호 작용하고 문제가 발생했을 때 코드를 구성하는 데 도움이되는 프레임 워크가 필요합니다. 신속하게 감지하고 복구 할 수 있습니다. 또한 클라이언트에 대해 생각하면 항상 소프트웨어에 대한 생각이 바뀌기 때문에 클라이언트가 새로운 기능을 수정하거나 추가 해야하는 경우 모든 코드를 통해 갈 필요가 없으며이 새로운 기능을 모두 어떻게 연결 해야하는지 생각할 필요가 없습니다. 이 sphagetti.
다른 많은 장단점이 있지만, 이들은 처음으로 내 마음을 건 crossed습니다.
편집 : 나는 매일 기지에서 symfony 프레임 워크를 사용하고 대학에서 PHP로 작업을 수행했습니다 (프레임 워크를 사용할 수없는 웹 개발에 대한 코스가있었습니다).이 대부분은 그 경험에서 비롯됩니다.
농담하는거야?
필요성은 사용에 달려 있습니다. 컴퓨터는 인류에게 필요하지 않으며, 자동차 등도 필요하지 않습니다.
장점 / 단점에 관해서는 각각 고유합니다!
내 프레임 워크에서 예제 코드를 보여주고 싶습니다.
class Product extends DatabaseRow {
public $name='';
public $price=0.0;
public $images=array();
public $description='';
public table(){
return 'products';
}
}
$p=new Product();
$p->name='Bread';
$p->price=0.5;
$p->images=array('loaf1.jpg','bakery.jpg');
$p->description='Our premium diet bread.';
$p->save();
내가 거기서 뭘했는지 알아? 이 클래스는 상점의 모델 역할을합니다. OO 이외의 특별한 점은 무엇입니까? 테이블 또는 열이 존재하지 않으면 동적으로 생성됩니다. 설치 스크립트가 없습니다. 물론 이것은 내 프레임 워크의 특정 기능입니다. 그러나 당신은 아이디어를 얻습니다.
$p=new Product($the_id); $p->load();
이 필요합니다. load()
전체 행을 덮어 쓰는 것이 아니라 행 병합입니다.
모든 응용 프로그램에 프레임 워크가 필요한 것은 아니지만 대부분의 응용 프로그램에는 프레임 워크가 필요합니다.
장점은 다음과 같습니다.
단점은 다음과 같습니다.
대체로 하나를 사용하는 것이 좋습니다.