CakePHP2命名规范
?
CakePHP的命名规范相当重要,遵循CakePHP框架的命名规范,可以获得框架内置的各种功能。CakePHP2发布之后,命名规范这块与老的框架没有任何区别,本文同时适用于CakePHP 2.x和CakePHP 1.x框架。
总得来说,文件名使用下划线,类名用驼峰命名法。比如,MyNiftyClass类对应的文件名就是my_nifty_class.php。下面是不同类型的类和其相对应的文件命名方式的一些例子,
控制器类KissesAndHugsController,可以在kisses_and_hugs_controller.php文件中找到(注意文件名中的_controller)。
组件类MyHandyComponent,可以在my_handy.php文件中找到。
模型类OptionValue可以在option_value.php文件中找到。
行为类EspeciallyFunkableBehavior,可以在especially_funkable.php文件中找到。
视图类SuperSimpleView,可以在super_simple.php文件中找到。
助手类BestEverHelper,可以在best_ever.php文件中找到。
上述的每个文件都存放在相应的文件夹中。
总结:类名中,除了模型类,都需要在类命中标明该类的身份,比如Controller,Component,Behavior等。文件名中,只有控制器类需要标明身份,即在文件末尾加上_controller.
模型和数据库命名规范
模型类名使用单数驼峰命名法,Person,BigPerson以及ReallyBigPerson都是约定的模型命名。
表名使用复数和下划线命名。与上述模型相对应的表名分别是people,big_people和really_big_people。
可以使用“inflector”库检查单词的单复数形式。
包含两个或更多单词的字段名,以下划线命名,比如first_name。
在hasMany,belongsTo,hasOne关系中,外键默认由相关表加_id表示。举例来说,一个Baker和Cake之间的关系是一对多,那么在cakes表中会存在一个baker_id外键来关联bakers表(注意,这里的关联外键是单数)。对于多个单词组成的表名,像category_types,外键会事category_type_id。即表名虽然是复数,但是在其它表中存在的该表外键,要以单数形式命名。
多对多关系中一般会存在一个链接表,该链接表字段的一个命名方式是需要以单词首字母字母顺序排列,例如apples和zebras两张表,在链接表中,他们应该是apples_zebras,而非zebras_apples。
所有CakePHP模型交互的表,都需要唯一的主键来标示每一行数据。CakePHP不支持组合主键,如果你想直接操作链接表数据,可以直接使用SQL语句。
除了使用递增字段作为主键之外,还可以使用char(36)作为主键。在使用odel::save方法保存记录时,CakePHP会自动识别该字段,并使用(String::uuid)生成一个36位的字符串作为唯一主键。
控制器命名规范
控制器类名使用复数驼峰命名法,并且以Controller结尾。PeopleController以及LatestArticlesControlle都是合法的控制器命名方式。
控制器中的首个方法应该是index()方法,当请求只指定了控制器,没有动作方法时,CakePHP默认执行该控制器的index()方法。
通过在控制器方法名之前加一个下划线,可以更改该控制器方法的可见范围。如果控制器方法前有一个下划线,这个方法就只能在内部使用,而无法通过浏览器访问。
控制器类名与URL地址
单个单词的控制器能够非常容易的被映射到小写的URL地址上。例如,ApplesController可以通过http://example.com/apples访问。
多词控制器的访问地址,可以是该控制器名的任何曲折形式。
- /redApples
- /RedApples
- /Red_apples
- /red_apples
都能指向到RedApples控制器的index方法。不过,命名约定规定,url地址应该是小写单词加下划线组成。因此,/red_apples/go_pick是请求RedApplesController::go_pick方法的正确形式。
视图命名规范
视图模板文件通过调用他们的控制器方法命名,以下划线分隔多词。PeopleController类中得getReady()方法,会自动关联/app/views/people/get_ready.ctp视图模板。
命名方式就是/app/views/
总结
数据库表名:people
模型类:person,路径app/models/person.php
控制器类:PeopleController,路径app/contollers/people_controller.php
视图类:app/views/people/index.ctp
使用这种命名约定,CakePHP能够将http://example.com/people/映射到PeopleController控制器的index()方法,Person模型可以直接在该控制器中使用,并且该模型会自动与people表绑定,然后输出视图。所有这一些不需要配置,只要你遵守CakePHP的命名约定即可。

PHP와 Python은 각각 고유 한 장점이 있으며 선택은 프로젝트 요구 사항을 기반으로해야합니다. 1.PHP는 간단한 구문과 높은 실행 효율로 웹 개발에 적합합니다. 2. Python은 간결한 구문 및 풍부한 라이브러리를 갖춘 데이터 과학 및 기계 학습에 적합합니다.

PHP는 죽지 않고 끊임없이 적응하고 진화합니다. 1) PHP는 1994 년부터 새로운 기술 트렌드에 적응하기 위해 여러 버전 반복을 겪었습니다. 2) 현재 전자 상거래, 컨텐츠 관리 시스템 및 기타 분야에서 널리 사용됩니다. 3) PHP8은 성능과 현대화를 개선하기 위해 JIT 컴파일러 및 기타 기능을 소개합니다. 4) Opcache를 사용하고 PSR-12 표준을 따라 성능 및 코드 품질을 최적화하십시오.

PHP의 미래는 새로운 기술 트렌드에 적응하고 혁신적인 기능을 도입함으로써 달성 될 것입니다. 1) 클라우드 컴퓨팅, 컨테이너화 및 마이크로 서비스 아키텍처에 적응, Docker 및 Kubernetes 지원; 2) 성능 및 데이터 처리 효율을 향상시키기 위해 JIT 컴파일러 및 열거 유형을 도입합니다. 3) 지속적으로 성능을 최적화하고 모범 사례를 홍보합니다.

PHP에서, 특성은 방법 재사용이 필요하지만 상속에 적합하지 않은 상황에 적합합니다. 1) 특성은 클래스에서 다중 상속의 복잡성을 피할 수 있도록 수많은 방법을 허용합니다. 2) 특성을 사용할 때는 대안과 키워드를 통해 해결할 수있는 방법 충돌에주의를 기울여야합니다. 3) 성능을 최적화하고 코드 유지 보수성을 향상시키기 위해 특성을 과도하게 사용해야하며 단일 책임을 유지해야합니다.

의존성 주입 컨테이너 (DIC)는 PHP 프로젝트에 사용하기위한 객체 종속성을 관리하고 제공하는 도구입니다. DIC의 주요 이점에는 다음이 포함됩니다. 1. 디커플링, 구성 요소 독립적 인 코드는 유지 관리 및 테스트가 쉽습니다. 2. 유연성, 의존성을 교체 또는 수정하기 쉽습니다. 3. 테스트 가능성, 단위 테스트를 위해 모의 객체를 주입하기에 편리합니다.

SplfixedArray는 PHP의 고정 크기 배열로, 고성능 및 메모리 사용이 필요한 시나리오에 적합합니다. 1) 동적 조정으로 인한 오버 헤드를 피하기 위해 생성 할 때 크기를 지정해야합니다. 2) C 언어 배열을 기반으로 메모리 및 빠른 액세스 속도를 직접 작동합니다. 3) 대규모 데이터 처리 및 메모리에 민감한 환경에 적합하지만 크기가 고정되어 있으므로주의해서 사용해야합니다.

PHP는 $ \ _ 파일 변수를 통해 파일 업로드를 처리합니다. 보안을 보장하는 방법에는 다음이 포함됩니다. 1. 오류 확인 확인, 2. 파일 유형 및 크기 확인, 3 파일 덮어 쓰기 방지, 4. 파일을 영구 저장소 위치로 이동하십시오.

JavaScript에서는 NullCoalescingOperator (??) 및 NullCoalescingAssignmentOperator (?? =)를 사용할 수 있습니다. 1. 2. ??= 변수를 오른쪽 피연산자의 값에 할당하지만 변수가 무효 또는 정의되지 않은 경우에만. 이 연산자는 코드 로직을 단순화하고 가독성과 성능을 향상시킵니다.


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

맨티스BT
Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

ZendStudio 13.5.1 맥
강력한 PHP 통합 개발 환경

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기
