PHP框架3(视图)
PHP框架三(视图)
上一节我们简单地实现了控制器。这一节我们实现一下视图。
这个视图文件非常简单。主要利用的就是ob_start() ,ob_get_content();这个文件位于includes文件夹内
view.php
<?phpclass view{ //视图类型 default / wap public static $view_type = null; public function __construct(){ ob_start(); } public function finish(){ $content = ob_get_contents(); return $content; } public static function set_view_type(){ switch(true){ case stripos($_SERVER['HTTP_USER_AGENT'], 'Windows CE') !== FALSE : self::$view_type = 'wap'; break; default : self::$view_type = 'default'; } } public static function show($location , $param = array()){ if(is_null(self::$view_type)){ self::set_view_type(); } $view = SIMPLE_PATH . '/view/' . self::$view_type . '/' . $location; extract($param, EXTR_OVERWRITE); ob_start(); file_exists($view) ? require $view : exit($view . ' 不存在'); $content = ob_get_contents(); return $content; }}
对于OB函数,我们可以简单地认为,在PHP编译之后,它不会立刻返回到页面,而是先放到缓冲区。
上述视图只是做了一个简单的实现,如果我们要扩展它,可以完善set_view_type()方法,也可以增加缓存,还可以增加模板的支持。
具体实现我会在以后的章节加上,今天我们试着使用一下这个VIEW。
还是昨天controller文件夹下的index.php 文件
<?phpclass index{ public function demo(){ view::show('index.htm' , array('message' => 'HELLO WORLD')); }}
然后再在view文件夹内新建一个default文件夹,再在新建一个index.htm
<html><head><title></title></head><body> <?php echo $message;?></body></html>
我们运行站点,便可以看到结果,“HELLO WORLD”。
我觉得这个结果,便是每个程序员对新的思想的一种见证。
如果在这个文件中,你还想插入头部,或尾部,只要再新建一个head.htm。然后再在index.htm中加入
<html><head><title></title></head><body> <?php echo $message; view::show('head.htm');?></body></html>
就可以实现公共部分的加入了。
至此,我们这个小型的视图类就实现了。
大家可自行去实验,如果不行,我们再交流。
下一节就是我以前在BLOG里介绍的DAO层,即MODULES。

핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

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

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

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











많은 사용자들이 스마트 시계를 선택할 때 Huawei 브랜드를 선택하게 됩니다. 그 중 Huawei GT3pro와 GT4가 가장 인기 있는 선택입니다. 두 제품의 차이점을 궁금해하는 사용자가 많습니다. Huawei GT3pro와 GT4의 차이점은 무엇입니까? 1. 외관 GT4: 46mm와 41mm, 재질은 유리 거울 + 스테인레스 스틸 본체 + 고해상도 섬유 후면 쉘입니다. GT3pro: 46.6mm 및 42.9mm, 재질은 사파이어 유리 + 티타늄 본체/세라믹 본체 + 세라믹 백 쉘입니다. 2. 건강한 GT4: 최신 Huawei Truseen5.5+ 알고리즘을 사용하면 결과가 더 정확해집니다. GT3pro: ECG 심전도, 혈관 및 안전성 추가

Windows 11에서 캡처 도구가 작동하지 않는 이유 문제의 근본 원인을 이해하면 올바른 솔루션을 찾는 데 도움이 될 수 있습니다. 캡처 도구가 제대로 작동하지 않는 주요 이유는 다음과 같습니다. 초점 도우미가 켜져 있습니다. 이렇게 하면 캡처 도구가 열리지 않습니다. 손상된 응용 프로그램: 캡처 도구가 실행 시 충돌하는 경우 응용 프로그램이 손상되었을 수 있습니다. 오래된 그래픽 드라이버: 호환되지 않는 드라이버가 캡처 도구를 방해할 수 있습니다. 다른 응용 프로그램의 간섭: 실행 중인 다른 응용 프로그램이 캡처 도구와 충돌할 수 있습니다. 인증서가 만료되었습니다. 업그레이드 프로세스 중 오류로 인해 이 문제가 발생할 수 있습니다. 이 문제는 대부분의 사용자에게 적합하며 특별한 기술 지식이 필요하지 않습니다. 1. Windows 및 Microsoft Store 앱 업데이트

Go에서 Type 키워드의 사용법에는 새로운 유형 별칭 정의 또는 새로운 구조 유형 생성이 포함됩니다. 자세한 소개: 1. 유형 별칭. 기존 유형에 대한 별칭을 생성하려면 "type" 키워드를 사용하십시오. 이 별칭은 새 유형을 생성하지 않고 기존 유형에 대한 새 이름만 제공하여 코드 가독성을 향상시킵니다. 2. 구조 유형을 사용하여 새 구조 유형을 생성합니다. 구조는 여러 필드 등을 포함하는 사용자 정의 유형을 정의하는 데 사용할 수 있습니다.

Ubuntu가 모바일 하드 디스크를 마운트할 때 오류가 발생합니다: mount:knownfilesystemtype'exfat' 처리 방법은 Ubuntu13.10 또는 install exfat-fuse: sudoapt-getinstallexfat-fuseUbuntu13.04 이하 sudoapt-add-repositoryppa:relan입니다. /exfatsudoapt-getupdatesudoapt-getinstallfuse- exfatCentOS CentOS에서 extfa를 로드하기 위한 Linux 마운트 exfat 형식 USB 디스크 오류 솔루션

매년 Apple이 iOS 및 macOS의 새로운 주요 버전을 출시하기 전에 사용자는 몇 달 전에 베타 버전을 다운로드하여 먼저 경험할 수 있습니다. 소프트웨어는 대중과 개발자 모두가 사용하기 때문에 Apple은 개발자 베타 버전의 공개 베타 버전인 개발자 버전과 공개 버전을 모두 출시했습니다. iOS 개발자 버전과 공개 버전의 차이점은 무엇인가요? 말 그대로 개발자 버전은 개발자 베타 버전이고, 퍼블릭 버전은 퍼블릭 베타 버전이다. 개발자 버전과 공개 버전은 서로 다른 대상을 대상으로 합니다. 개발자 버전은 개발자가 테스트하기 위해 Apple에서 사용합니다. 다운로드하고 업그레이드하려면 Apple 개발자 계정이 필요합니다.

Laravel은 현재 가장 인기 있는 PHP 프레임워크 중 하나이며 강력한 뷰 생성 기능이 인상적입니다. 보기는 웹 애플리케이션에서 사용자에게 표시되는 페이지 또는 시각적 요소로, HTML, CSS, JavaScript와 같은 코드가 포함되어 있습니다. LaravelView를 사용하면 개발자는 구조화된 템플릿 언어를 사용하여 웹 페이지를 구축하고 컨트롤러 및 라우팅을 통해 해당 뷰를 생성할 수 있습니다. 이번 글에서는 LaravelView를 사용하여 뷰를 생성하는 방법을 살펴보겠습니다. 1. 무엇

1부: 초기 문제 해결 단계 Apple 시스템 상태 확인: 복잡한 솔루션을 살펴보기 전에 기본 사항부터 시작해 보겠습니다. 문제는 귀하의 기기에 있는 것이 아닐 수도 있습니다. Apple 서버가 다운되었을 수도 있습니다. Apple의 시스템 상태 페이지를 방문하여 AppStore가 제대로 작동하는지 확인하세요. 문제가 있는 경우 Apple이 문제를 해결하기를 기다리는 것뿐입니다. 인터넷 연결 확인: "AppStore에 연결할 수 없음" 문제는 때때로 연결 불량으로 인해 발생할 수 있으므로 인터넷 연결이 안정적인지 확인하십시오. Wi-Fi와 모바일 데이터 간을 전환하거나 네트워크 설정을 재설정해 보세요(일반 > 재설정 > 네트워크 설정 재설정 > 설정). iOS 버전을 업데이트하세요.

php提交表单通过后,弹出的对话框怎样在当前页弹出php提交表单通过后,弹出的对话框怎样在当前页弹出而不是在空白页弹出?想实现这样的效果:而不是空白页弹出:------解决方案--------------------如果你的验证用PHP在后端,那么就用Ajax;仅供参考:HTML code
