国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Home Backend Development PHP Tutorial Use PHP to create a template framework for static websites_PHP tutorial

Use PHP to create a template framework for static websites_PHP tutorial

Jul 21, 2016 pm 04:11 PM
php 。 make how improve frame template use of structure net were able pass static


Templates can improve the structure of your website. This article explains how to use a new feature of PHP 4 and the template class to skillfully use templates to control page layout in a website composed of a large number of static HTML pages.

Outline:

======================================

Separate functions and layout


Avoid duplication of page elements


Template framework for static websites

======== ===========================

Separating functionality and layout

First let’s take a look at the application template Two main purposes:

Separate functionality (PHP) and layout (HTML)

Avoid duplication of page elements

The first purpose is the most talked about purpose, it Imagine a situation where one group of programmers writes the PHP scripts that generate the page's content, while another group of designers designs the HTML and graphics to control the page's final appearance. The basic idea of ??separating functionality and layout is to enable these two groups of people to write and use an independent set of files: programmers only need to care about files that only contain PHP code and do not need to care about the appearance of the page; while page designers can use their own Design your page layout with the most familiar visual editor, without worrying about breaking any PHP code embedded into the page.

If you have watched a few tutorials on PHP templates, then you should already understand how templates work. Consider a simple page part: the top of the page is the header, the left is the navigation bar, and the rest is the content area. This kind of website can have the following template file:



Template Example</ title></head><br><body><br><table><tr><td>{HEADER}</td></tr><br><tr>< ;td>{LEFTNAV}</td><td>{CONTENT}</td></tr><br></table><br></body></html><br><br><!-- header.htm --><br><img src="sitelogo.jpg"><br><br><!-- leftnav.htm --> <br><br><a href="foo">Foo</a><br><br><a href="bar">Bar</a><br><br> You can see how the page is constructed from these templates: the main template controls the layout of the entire page; the header template and leftnav template control the common elements of the page. Identifiers inside curly braces "{}" are content placeholders. The main benefit of using templates is that interface designers can edit these files according to their own wishes, such as setting fonts, modifying colors and graphics, or completely changing the layout of the page. Interface designers can edit these pages with any ordinary HTML editor or visualization tool, because these files only contain HTML code, without any PHP code. The PHP code is all saved into a separate file, which is the file actually called by the page URL. The web server parses the file through the PHP engine and returns the results to the browser. Generally, PHP code always dynamically generates page content, such as querying a database or performing certain calculations. Here is an example: <br><?php<br><br>// example.php <br>require('class.FastTemplate.php'); <br>$tpl = new FastTemplate('.') ; <br>$tpl->define( array( 'main' => 'main.htm', <br>'header' => 'header.htm', <br>'leftnav' => ' leftnav.htm' ) ); <br><br>// The PHP code here sets $content to contain the appropriate page content <br><br>$tpl->assign('CONTENT', $content) ; <br>$tpl->parse('HEADER', 'header'); <br>$tpl->parse('LEFTNAV', 'leftnav'); <br>$tpl->parse(' MAIN', 'main'); <br>$tpl->FastPrint('MAIN'); <br><br>?> <br><br> Here we are using the popular FastTemplate template class, but The basic idea is the same for many other template classes. First, you instantiate a class and tell it where to find template files and which template file corresponds to which part of the page; then, generate the page content and assign the result to the content identifier; then, parse each template file in turn, The template class will perform the necessary replacement operations; finally, the parsing results will be output to the browser. <br><br> This file is entirely composed of PHP code and does not contain any HTML code, which is its biggest advantage. Now, PHP programmers can focus on writing the code that generates the content of the page, rather than worrying about how to generate the HTML to properly format the final page. <br><br> You can use this method and the above files to construct a complete website. If the PHP code generates page content based on the query string in the URL, such as http://www.foo.com/example.php?article=099, you can construct a complete magazine website based on this. <br><br> It’s easy to see that there is a second benefit to using templates. As shown in the example above, the navigation bar on the left side of the page is saved as a separate file. We only need to edit this template file to change the navigation bar on the left side of all pages of the website. Avoid duplication of page elements <br> “This is really good”, you may be thinking, “My website is mainly composed of a large number of static pages.Now I can remove the public parts from all the pages, which would be too much trouble to update. In the future I can use templates to create a unified page layout that is easy to maintain. "But things are not that simple. "A large number of static pages" tells the problem. <br><br> Please consider the above example. This example actually only has one example.php page, and the reason why it can generate the entire website of all pages because it uses query strings in the URL to dynamically construct pages from information sources such as databases <br><br> Most of us run websites that don’t necessarily have that. Database support. Most of our websites are composed of static pages, and then we use PHP to add some dynamic functions here and there, such as search engines, feedback forms, etc. So, how to apply templates to this kind of website? <br><br> The simplest method is to copy a PHP file for each page, and then set the variables representing the content in the PHP code to the appropriate page content in each page. For example, suppose there are three pages, which are the homepage ( home), about (about) and product (product), we can use three files to generate them respectively. The contents of these three files are similar to: <br><br><?php <br><br>/ / home.php <br>require('class.FastTemplate.php'); <br>$tpl = new FastTemplate('.'); <br>$tpl->define( array( 'main' => 'main.htm', <br>'header' => 'header.htm', <br>'leftnav' => 'leftnav.htm' ) ); <br><br>$content = "< p>Welcome</p> <br><img src="demo.jpg"> <br><p>Hope you like this website</p>"; <br>$tpl- >assign('CONTENT', $content); <br>$tpl->parse('HEADER', 'header'); <br>$tpl->parse('LEFTNAV', 'leftnav'); <br>$tpl->parse('MAIN', 'main'); <br>$tpl->FastPrint('MAIN'); <br><br>?><br><br> Obviously , there are three problems with this approach: we have to duplicate these complex, template-involved PHP codes for every page, which makes the page difficult to maintain as well as duplicating common page elements; now the files are mixed with HTML and PHP code; for the content Variable assignment will become very difficult because we have to deal with a lot of special characters. <br><br> The key to solving this problem is to separate the PHP code and HTML content. Although we cannot delete all the HTML content from the file, we can move out the vast majority of the PHP code. Template framework for static websites <br><br> First, we write template files for all common elements of the page and the overall layout of the page as before; then delete the common parts from all pages, leaving only the page content; and then Add three lines of PHP code to each page, as follows: <br><br><?php <br><br><!-- home.php --> <br><?php require('prepend.php'); ?> <br><?php pageStart('Home'); ?> <br><br><h1>Hello</h1> <br>< ;p>Welcome</p> <br><img src="demo.jpg"> <br><p>Hope you like this website</p> <br><br>< ;?php pageFinish(); ?> <br><br>?><br><br> This method basically solves the various problems mentioned earlier. There are only three lines of PHP code in the file now, and none of them directly refer to the template, so the possibility of changing this code is extremely slim. In addition, since the HTML content is outside the PHP markup, there is no problem with handling special characters. We can easily add these three lines of PHP code to all static HTML pages. <br><br> The require function introduces a PHP file that contains all the necessary template-related PHP code. The pageStart function sets the template object and page title, and the pageFinish function parses the template and generates the result and sends it to the browser. <br><br> How is this achieved? Why is the HTML in the file not sent to the browser until the pageFinish function is called? The answer lies in a new feature of PHP 4, which allows the content output to the browser to be intercepted into a buffer. Let's take a look at the specific code of prepend.php: <br><br><?php <br><br>require('class.FastTemplate.php'); <br><br>function pageStart($title = '') { <br>GLOBAL $tpl; <br>$tpl = new FastTemplate('.'); <br>$tpl->define( array( 'main' => 'main.htm', <br>'header' => 'header.htm', <br>'leftnav'=> 'leftnav.htm' ) ); <br>$tpl->assign('TITLE', $title); <br>ob_start(); <br>} <br><br>function pageFinish() { <br>GLOBAL $tpl; <br>$content = ob_get_contents(); <br>ob_end_clean(); <br>$ tpl->assign('CONTENT', $content); <br>$tpl->parse('HEADER', 'header'); <br>$tpl->parse('LEFTNAV', 'leftnav' ); <br>$tpl->parse('MAIN', 'main'); <br>$tpl->FastPrint('MAIN'); <br>} <br><br>?> The pageStart function first creates and sets up a template instance, then enables output caching. After this, all HTML content from the page itself will go into the cache. The pageFinish function takes out the contents from the cache, then specifies these contents in the template object, and finally parses the template and outputs the completed page.</p> <div align="center"><img src="http://www.okasp.com/images/tech/ul464.gif" alt="Use PHP to create a template framework for static websites_PHP tutorial" ></div> <br> This is the entire working process of the entire template framework. First write a template that contains common elements for each page of the website, then delete all common page layout codes from all pages and replace them with three lines of PHP code that never need to be changed; then add the FastTemplate class file and prepend.php to the include path , so that you get a website whose page layout can be controlled centrally, which has better reliability and maintainability, and large-scale modifications at the website level become quite easy. <br><br> The download package for this article contains a runnable sample website, and its code comments are more detailed than the previous code comments. The FastTemplate class can be found at http://www.thewebmasters.net/, the latest version number is 1.1.0, and there is a small patch there to ensure that the class runs correctly in PHP 4. The classes in the download code of this article have been corrected by this patch. <p align="left"></p> <div style="display:none;"> <span id="url" itemprop="url">http://www.bkjia.com/PHPjc/314011.html</span><span id="indexUrl" itemprop="indexUrl">www.bkjia.com</span><span id="isOriginal" itemprop="isOriginal">true</span><span id="isBasedOnUrl" itemprop="isBasedOnUrl">http: //www.bkjia.com/PHPjc/314011.html</span><span id="genre" itemprop="genre">TechArticle</span><span id="description" itemprop="description"> Templates can improve the structure of the website. This article explains how to use a new function and template class in PHP 4 to skillfully use templates to control page layout in a website composed of a large number of static HTML pages...</span> </div> <div id="377j5v51b" class="art_confoot"></div> </div> </div> <div id="377j5v51b" class="wzconShengming_sp"> <div id="377j5v51b" class="bzsmdiv_sp">Statement of this Website</div> <div>The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn</div> </div> </div> <ins class="adsbygoogle" style="display:block" data-ad-format="autorelaxed" data-ad-client="ca-pub-5902227090019525" data-ad-slot="2507867629"></ins> <div id="377j5v51b" class="AI_ToolDetails_main4sR"> <ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-5902227090019525" data-ad-slot="3653428331" data-ad-format="auto" data-full-width-responsive="true"></ins> <!-- <div id="377j5v51b" class="phpgenera_Details_mainR4"> <div id="377j5v51b" class="phpmain1_4R_readrank"> <div id="377j5v51b" class="phpmain1_4R_readrank_top"> <img onerror="this.onerror=''; this.src='/static/imghw/default1.png'" onerror="this.onerror=''; this.src='/static/imghw/default1.png'" src="/static/imghw/hotarticle2.png" alt="" /> <h2>Hot Article</h2> </div> <div id="377j5v51b" class="phpgenera_Details_mainR4_bottom"> <div id="377j5v51b" class="phpgenera_Details_mainR4_bottoms"> <a href="http://m.miracleart.cn/faq/1796821119.html" title="Guide: Stellar Blade Save File Location/Save File Lost/Not Saving" class="phpgenera_Details_mainR4_bottom_title">Guide: Stellar Blade Save File Location/Save File Lost/Not Saving</a> <div id="377j5v51b" class="phpgenera_Details_mainR4_bottoms_info"> <span>4 weeks ago</span> <span>By DDD</span> </div> </div> <div id="377j5v51b" class="phpgenera_Details_mainR4_bottoms"> <a href="http://m.miracleart.cn/faq/1796827210.html" title="Oguri Cap Build Guide | A Pretty Derby Musume" class="phpgenera_Details_mainR4_bottom_title">Oguri Cap Build Guide | A Pretty Derby Musume</a> <div id="377j5v51b" class="phpgenera_Details_mainR4_bottoms_info"> <span>2 weeks ago</span> <span>By Jack chen</span> </div> </div> <div id="377j5v51b" class="phpgenera_Details_mainR4_bottoms"> <a href="http://m.miracleart.cn/faq/1796828723.html" title="Agnes Tachyon Build Guide | A Pretty Derby Musume" class="phpgenera_Details_mainR4_bottom_title">Agnes Tachyon Build Guide | A Pretty Derby Musume</a> <div id="377j5v51b" class="phpgenera_Details_mainR4_bottoms_info"> <span>2 weeks ago</span> <span>By Jack chen</span> </div> </div> <div id="377j5v51b" class="phpgenera_Details_mainR4_bottoms"> <a href="http://m.miracleart.cn/faq/1796821436.html" title="Dune: Awakening - Advanced Planetologist Quest Walkthrough" class="phpgenera_Details_mainR4_bottom_title">Dune: Awakening - Advanced Planetologist Quest Walkthrough</a> <div id="377j5v51b" class="phpgenera_Details_mainR4_bottoms_info"> <span>4 weeks ago</span> <span>By Jack chen</span> </div> </div> <div id="377j5v51b" class="phpgenera_Details_mainR4_bottoms"> <a href="http://m.miracleart.cn/faq/1796821278.html" title="Date Everything: Dirk And Harper Relationship Guide" class="phpgenera_Details_mainR4_bottom_title">Date Everything: Dirk And Harper Relationship Guide</a> <div id="377j5v51b" class="phpgenera_Details_mainR4_bottoms_info"> <span>4 weeks ago</span> <span>By Jack chen</span> </div> </div> </div> <div id="377j5v51b" class="phpgenera_Details_mainR3_more"> <a href="http://m.miracleart.cn/article.html">Show More</a> </div> </div> </div> --> <div id="377j5v51b" class="phpgenera_Details_mainR3"> <div id="377j5v51b" class="phpmain1_4R_readrank"> <div id="377j5v51b" class="phpmain1_4R_readrank_top"> <img onerror="this.onerror=''; this.src='/static/imghw/default1.png'" onerror="this.onerror=''; this.src='/static/imghw/default1.png'" src="/static/imghw/hottools2.png" alt="" /> <h2>Hot AI Tools</h2> </div> <div id="377j5v51b" class="phpgenera_Details_mainR3_bottom"> <div id="377j5v51b" class="phpmain_tab2_mids_top"> <a href="http://m.miracleart.cn/ai/undress-ai-tool" title="Undress AI Tool" class="phpmain_tab2_mids_top_img"> <img onerror="this.onerror=''; this.src='/static/imghw/default1.png'" onerror="this.onerror=''; this.src='/static/imghw/default1.png'" class="lazy" data-src="https://img.php.cn/upload/ai_manual/001/246/273/173410641626608.jpg?x-oss-process=image/resize,m_fill,h_50,w_50" src="/static/imghw/default1.png" alt="Undress AI Tool" /> </a> <div id="377j5v51b" class="phpmain_tab2_mids_info"> <a href="http://m.miracleart.cn/ai/undress-ai-tool" title="Undress AI Tool" class="phpmain_tab2_mids_title"> <h3>Undress AI Tool</h3> </a> <p>Undress images for free</p> </div> </div> <div id="377j5v51b" class="phpmain_tab2_mids_top"> <a href="http://m.miracleart.cn/ai/undresserai-undress" title="Undresser.AI Undress" class="phpmain_tab2_mids_top_img"> <img onerror="this.onerror=''; this.src='/static/imghw/default1.png'" onerror="this.onerror=''; this.src='/static/imghw/default1.png'" class="lazy" data-src="https://img.php.cn/upload/ai_manual/001/246/273/173411540686492.jpg?x-oss-process=image/resize,m_fill,h_50,w_50" src="/static/imghw/default1.png" alt="Undresser.AI Undress" /> </a> <div id="377j5v51b" class="phpmain_tab2_mids_info"> <a href="http://m.miracleart.cn/ai/undresserai-undress" title="Undresser.AI Undress" class="phpmain_tab2_mids_title"> <h3>Undresser.AI Undress</h3> </a> <p>AI-powered app for creating realistic nude photos</p> </div> </div> <div id="377j5v51b" class="phpmain_tab2_mids_top"> <a href="http://m.miracleart.cn/ai/ai-clothes-remover" title="AI Clothes Remover" class="phpmain_tab2_mids_top_img"> <img onerror="this.onerror=''; this.src='/static/imghw/default1.png'" onerror="this.onerror=''; this.src='/static/imghw/default1.png'" class="lazy" data-src="https://img.php.cn/upload/ai_manual/001/246/273/173411552797167.jpg?x-oss-process=image/resize,m_fill,h_50,w_50" src="/static/imghw/default1.png" alt="AI Clothes Remover" /> </a> <div id="377j5v51b" class="phpmain_tab2_mids_info"> <a href="http://m.miracleart.cn/ai/ai-clothes-remover" title="AI Clothes Remover" class="phpmain_tab2_mids_title"> <h3>AI Clothes Remover</h3> </a> <p>Online AI tool for removing clothes from photos.</p> </div> </div> <div id="377j5v51b" class="phpmain_tab2_mids_top"> <a href="http://m.miracleart.cn/ai/clothoffio" title="Clothoff.io" class="phpmain_tab2_mids_top_img"> <img onerror="this.onerror=''; this.src='/static/imghw/default1.png'" onerror="this.onerror=''; this.src='/static/imghw/default1.png'" class="lazy" data-src="https://img.php.cn/upload/ai_manual/001/246/273/173411529149311.jpg?x-oss-process=image/resize,m_fill,h_50,w_50" src="/static/imghw/default1.png" alt="Clothoff.io" /> </a> <div id="377j5v51b" class="phpmain_tab2_mids_info"> <a href="http://m.miracleart.cn/ai/clothoffio" title="Clothoff.io" class="phpmain_tab2_mids_title"> <h3>Clothoff.io</h3> </a> <p>AI clothes remover</p> </div> </div> <div id="377j5v51b" class="phpmain_tab2_mids_top"> <a href="http://m.miracleart.cn/ai/video-swap" title="Video Face Swap" class="phpmain_tab2_mids_top_img"> <img onerror="this.onerror=''; this.src='/static/imghw/default1.png'" onerror="this.onerror=''; this.src='/static/imghw/default1.png'" class="lazy" data-src="https://img.php.cn/upload/ai_manual/001/246/273/173414504068133.jpg?x-oss-process=image/resize,m_fill,h_50,w_50" src="/static/imghw/default1.png" alt="Video Face Swap" /> </a> <div id="377j5v51b" class="phpmain_tab2_mids_info"> <a href="http://m.miracleart.cn/ai/video-swap" title="Video Face Swap" class="phpmain_tab2_mids_title"> <h3>Video Face Swap</h3> </a> <p>Swap faces in any video effortlessly with our completely free AI face swap tool!</p> </div> </div> </div> <div id="377j5v51b" class="phpgenera_Details_mainR3_more"> <a href="http://m.miracleart.cn/ai">Show More</a> </div> </div> </div> <div id="377j5v51b" class="phpgenera_Details_mainR4"> <div id="377j5v51b" class="phpmain1_4R_readrank"> <div id="377j5v51b" class="phpmain1_4R_readrank_top"> <img onerror="this.onerror=''; this.src='/static/imghw/default1.png'" onerror="this.onerror=''; this.src='/static/imghw/default1.png'" src="/static/imghw/hotarticle2.png" alt="" /> <h2>Hot Article</h2> </div> <div id="377j5v51b" class="phpgenera_Details_mainR4_bottom"> <div id="377j5v51b" class="phpgenera_Details_mainR4_bottoms"> <a href="http://m.miracleart.cn/faq/1796821119.html" title="Guide: Stellar Blade Save File Location/Save File Lost/Not Saving" class="phpgenera_Details_mainR4_bottom_title">Guide: Stellar Blade Save File Location/Save File Lost/Not Saving</a> <div id="377j5v51b" class="phpgenera_Details_mainR4_bottoms_info"> <span>4 weeks ago</span> <span>By DDD</span> </div> </div> <div id="377j5v51b" class="phpgenera_Details_mainR4_bottoms"> <a href="http://m.miracleart.cn/faq/1796827210.html" title="Oguri Cap Build Guide | A Pretty Derby Musume" class="phpgenera_Details_mainR4_bottom_title">Oguri Cap Build Guide | A Pretty Derby Musume</a> <div id="377j5v51b" class="phpgenera_Details_mainR4_bottoms_info"> <span>2 weeks ago</span> <span>By Jack chen</span> </div> </div> <div id="377j5v51b" class="phpgenera_Details_mainR4_bottoms"> <a href="http://m.miracleart.cn/faq/1796828723.html" title="Agnes Tachyon Build Guide | A Pretty Derby Musume" class="phpgenera_Details_mainR4_bottom_title">Agnes Tachyon Build Guide | A Pretty Derby Musume</a> <div id="377j5v51b" class="phpgenera_Details_mainR4_bottoms_info"> <span>2 weeks ago</span> <span>By Jack chen</span> </div> </div> <div id="377j5v51b" class="phpgenera_Details_mainR4_bottoms"> <a href="http://m.miracleart.cn/faq/1796821436.html" title="Dune: Awakening - Advanced Planetologist Quest Walkthrough" class="phpgenera_Details_mainR4_bottom_title">Dune: Awakening - Advanced Planetologist Quest Walkthrough</a> <div id="377j5v51b" class="phpgenera_Details_mainR4_bottoms_info"> <span>4 weeks ago</span> <span>By Jack chen</span> </div> </div> <div id="377j5v51b" class="phpgenera_Details_mainR4_bottoms"> <a href="http://m.miracleart.cn/faq/1796821278.html" title="Date Everything: Dirk And Harper Relationship Guide" class="phpgenera_Details_mainR4_bottom_title">Date Everything: Dirk And Harper Relationship Guide</a> <div id="377j5v51b" class="phpgenera_Details_mainR4_bottoms_info"> <span>4 weeks ago</span> <span>By Jack chen</span> </div> </div> </div> <div id="377j5v51b" class="phpgenera_Details_mainR3_more"> <a href="http://m.miracleart.cn/article.html">Show More</a> </div> </div> </div> <div id="377j5v51b" class="phpgenera_Details_mainR3"> <div id="377j5v51b" class="phpmain1_4R_readrank"> <div id="377j5v51b" class="phpmain1_4R_readrank_top"> <img onerror="this.onerror=''; this.src='/static/imghw/default1.png'" onerror="this.onerror=''; this.src='/static/imghw/default1.png'" src="/static/imghw/hottools2.png" alt="" /> <h2>Hot Tools</h2> </div> <div id="377j5v51b" class="phpgenera_Details_mainR3_bottom"> <div id="377j5v51b" class="phpmain_tab2_mids_top"> <a href="http://m.miracleart.cn/toolset/development-tools/92" title="Notepad++7.3.1" class="phpmain_tab2_mids_top_img"> <img onerror="this.onerror=''; this.src='/static/imghw/default1.png'" onerror="this.onerror=''; this.src='/static/imghw/default1.png'" class="lazy" data-src="https://img.php.cn/upload/manual/000/000/001/58ab96f0f39f7357.jpg?x-oss-process=image/resize,m_fill,h_50,w_72" src="/static/imghw/default1.png" alt="Notepad++7.3.1" /> </a> <div id="377j5v51b" class="phpmain_tab2_mids_info"> <a href="http://m.miracleart.cn/toolset/development-tools/92" title="Notepad++7.3.1" class="phpmain_tab2_mids_title"> <h3>Notepad++7.3.1</h3> </a> <p>Easy-to-use and free code editor</p> </div> </div> <div id="377j5v51b" class="phpmain_tab2_mids_top"> <a href="http://m.miracleart.cn/toolset/development-tools/93" title="SublimeText3 Chinese version" class="phpmain_tab2_mids_top_img"> <img onerror="this.onerror=''; this.src='/static/imghw/default1.png'" onerror="this.onerror=''; this.src='/static/imghw/default1.png'" class="lazy" data-src="https://img.php.cn/upload/manual/000/000/001/58ab97a3baad9677.jpg?x-oss-process=image/resize,m_fill,h_50,w_72" src="/static/imghw/default1.png" alt="SublimeText3 Chinese version" /> </a> <div id="377j5v51b" class="phpmain_tab2_mids_info"> <a href="http://m.miracleart.cn/toolset/development-tools/93" title="SublimeText3 Chinese version" class="phpmain_tab2_mids_title"> <h3>SublimeText3 Chinese version</h3> </a> <p>Chinese version, very easy to use</p> </div> </div> <div id="377j5v51b" class="phpmain_tab2_mids_top"> <a href="http://m.miracleart.cn/toolset/development-tools/121" title="Zend Studio 13.0.1" class="phpmain_tab2_mids_top_img"> <img onerror="this.onerror=''; this.src='/static/imghw/default1.png'" onerror="this.onerror=''; this.src='/static/imghw/default1.png'" class="lazy" data-src="https://img.php.cn/upload/manual/000/000/001/58ab97ecd1ab2670.jpg?x-oss-process=image/resize,m_fill,h_50,w_72" src="/static/imghw/default1.png" alt="Zend Studio 13.0.1" /> </a> <div id="377j5v51b" class="phpmain_tab2_mids_info"> <a href="http://m.miracleart.cn/toolset/development-tools/121" title="Zend Studio 13.0.1" class="phpmain_tab2_mids_title"> <h3>Zend Studio 13.0.1</h3> </a> <p>Powerful PHP integrated development environment</p> </div> </div> <div id="377j5v51b" class="phpmain_tab2_mids_top"> <a href="http://m.miracleart.cn/toolset/development-tools/469" title="Dreamweaver CS6" class="phpmain_tab2_mids_top_img"> <img onerror="this.onerror=''; this.src='/static/imghw/default1.png'" onerror="this.onerror=''; this.src='/static/imghw/default1.png'" class="lazy" data-src="https://img.php.cn/upload/manual/000/000/001/58d0e0fc74683535.jpg?x-oss-process=image/resize,m_fill,h_50,w_72" src="/static/imghw/default1.png" alt="Dreamweaver CS6" /> </a> <div id="377j5v51b" class="phpmain_tab2_mids_info"> <a href="http://m.miracleart.cn/toolset/development-tools/469" title="Dreamweaver CS6" class="phpmain_tab2_mids_title"> <h3>Dreamweaver CS6</h3> </a> <p>Visual web development tools</p> </div> </div> <div id="377j5v51b" class="phpmain_tab2_mids_top"> <a href="http://m.miracleart.cn/toolset/development-tools/500" title="SublimeText3 Mac version" class="phpmain_tab2_mids_top_img"> <img onerror="this.onerror=''; this.src='/static/imghw/default1.png'" onerror="this.onerror=''; this.src='/static/imghw/default1.png'" class="lazy" data-src="https://img.php.cn/upload/manual/000/000/001/58d34035e2757995.png?x-oss-process=image/resize,m_fill,h_50,w_72" src="/static/imghw/default1.png" alt="SublimeText3 Mac version" /> </a> <div id="377j5v51b" class="phpmain_tab2_mids_info"> <a href="http://m.miracleart.cn/toolset/development-tools/500" title="SublimeText3 Mac version" class="phpmain_tab2_mids_title"> <h3>SublimeText3 Mac version</h3> </a> <p>God-level code editing software (SublimeText3)</p> </div> </div> </div> <div id="377j5v51b" class="phpgenera_Details_mainR3_more"> <a href="http://m.miracleart.cn/ai">Show More</a> </div> </div> </div> <div id="377j5v51b" class="phpgenera_Details_mainR4"> <div id="377j5v51b" class="phpmain1_4R_readrank"> <div id="377j5v51b" class="phpmain1_4R_readrank_top"> <img onerror="this.onerror=''; this.src='/static/imghw/default1.png'" onerror="this.onerror=''; this.src='/static/imghw/default1.png'" src="/static/imghw/hotarticle2.png" alt="" /> <h2>Hot Topics</h2> </div> <div id="377j5v51b" class="phpgenera_Details_mainR4_bottom"> <div id="377j5v51b" class="phpgenera_Details_mainR4_bottoms"> <a href="http://m.miracleart.cn/faq/gmailyxdlrkzn" title="Where is the login entrance for gmail email?" class="phpgenera_Details_mainR4_bottom_title">Where is the login entrance for gmail email?</a> <div id="377j5v51b" class="phpgenera_Details_mainR4_bottoms_info"> <div id="377j5v51b" class="phpgenera_Details_mainR4_bottoms_infos"> <img src="/static/imghw/eyess.png" alt="" /> <span>8638</span> </div> <div id="377j5v51b" class="phpgenera_Details_mainR4_bottoms_infos"> <img src="/static/imghw/tiezi.png" alt="" /> <span>17</span> </div> </div> </div> <div id="377j5v51b" class="phpgenera_Details_mainR4_bottoms"> <a href="http://m.miracleart.cn/faq/java-tutorial" title="Java Tutorial" class="phpgenera_Details_mainR4_bottom_title">Java Tutorial</a> <div id="377j5v51b" class="phpgenera_Details_mainR4_bottoms_info"> <div id="377j5v51b" class="phpgenera_Details_mainR4_bottoms_infos"> <img src="/static/imghw/eyess.png" alt="" /> <span>1784</span> </div> <div id="377j5v51b" class="phpgenera_Details_mainR4_bottoms_infos"> <img src="/static/imghw/tiezi.png" alt="" /> <span>16</span> </div> </div> </div> <div id="377j5v51b" class="phpgenera_Details_mainR4_bottoms"> <a href="http://m.miracleart.cn/faq/cakephp-tutor" title="CakePHP Tutorial" class="phpgenera_Details_mainR4_bottom_title">CakePHP Tutorial</a> <div id="377j5v51b" class="phpgenera_Details_mainR4_bottoms_info"> <div id="377j5v51b" class="phpgenera_Details_mainR4_bottoms_infos"> <img src="/static/imghw/eyess.png" alt="" /> <span>1729</span> </div> <div id="377j5v51b" class="phpgenera_Details_mainR4_bottoms_infos"> <img src="/static/imghw/tiezi.png" alt="" /> <span>56</span> </div> </div> </div> <div id="377j5v51b" class="phpgenera_Details_mainR4_bottoms"> <a href="http://m.miracleart.cn/faq/laravel-tutori" title="Laravel Tutorial" class="phpgenera_Details_mainR4_bottom_title">Laravel Tutorial</a> <div id="377j5v51b" class="phpgenera_Details_mainR4_bottoms_info"> <div id="377j5v51b" class="phpgenera_Details_mainR4_bottoms_infos"> <img src="/static/imghw/eyess.png" alt="" /> <span>1580</span> </div> <div id="377j5v51b" class="phpgenera_Details_mainR4_bottoms_infos"> <img src="/static/imghw/tiezi.png" alt="" /> <span>28</span> </div> </div> </div> <div id="377j5v51b" class="phpgenera_Details_mainR4_bottoms"> <a href="http://m.miracleart.cn/faq/php-tutorial" title="PHP Tutorial" class="phpgenera_Details_mainR4_bottom_title">PHP Tutorial</a> <div id="377j5v51b" class="phpgenera_Details_mainR4_bottoms_info"> <div id="377j5v51b" class="phpgenera_Details_mainR4_bottoms_infos"> <img src="/static/imghw/eyess.png" alt="" /> <span>1445</span> </div> <div id="377j5v51b" class="phpgenera_Details_mainR4_bottoms_infos"> <img src="/static/imghw/tiezi.png" alt="" /> <span>31</span> </div> </div> </div> </div> <div id="377j5v51b" class="phpgenera_Details_mainR3_more"> <a href="http://m.miracleart.cn/faq/zt">Show More</a> </div> </div> </div> </div> </div> <div id="377j5v51b" class="Article_Details_main2"> <div id="377j5v51b" class="phpgenera_Details_mainL4"> <div id="377j5v51b" class="phpmain1_2_top"> <a href="javascript:void(0);" class="phpmain1_2_top_title">Related knowledge<img src="/static/imghw/index2_title2.png" alt="" /></a> </div> <div id="377j5v51b" class="phpgenera_Details_mainL4_info"> <div id="377j5v51b" class="phphistorical_Version2_mids"> <a href="http://m.miracleart.cn/faq/1796837555.html" title="Why We Comment: A PHP Guide" class="phphistorical_Version2_mids_img"> <img onerror="this.onerror=''; this.src='/static/imghw/default1.png'" src="/static/imghw/default1.png" class="lazy" data-src="https://img.php.cn/upload/article/001/253/068/175251888049018.jpg?x-oss-process=image/resize,m_fill,h_207,w_330" alt="Why We Comment: A PHP Guide" /> </a> <a href="http://m.miracleart.cn/faq/1796837555.html" title="Why We Comment: A PHP Guide" class="phphistorical_Version2_mids_title">Why We Comment: A PHP Guide</a> <span id="377j5v51b" class="Articlelist_txts_time">Jul 15, 2025 am 02:48 AM</span> <p class="Articlelist_txts_p">PHPhasthreecommentstyles://,#forsingle-lineand/.../formulti-line.Usecommentstoexplainwhycodeexists,notwhatitdoes.MarkTODO/FIXMEitemsanddisablecodetemporarilyduringdebugging.Avoidover-commentingsimplelogic.Writeconcise,grammaticallycorrectcommentsandu</p> </div> <div id="377j5v51b" class="phphistorical_Version2_mids"> <a href="http://m.miracleart.cn/faq/1796837552.html" title="How to Install PHP on Windows" class="phphistorical_Version2_mids_img"> <img onerror="this.onerror=''; this.src='/static/imghw/default1.png'" src="/static/imghw/default1.png" class="lazy" data-src="https://img.php.cn/upload/article/001/253/068/175251880036110.jpg?x-oss-process=image/resize,m_fill,h_207,w_330" alt="How to Install PHP on Windows" /> </a> <a href="http://m.miracleart.cn/faq/1796837552.html" title="How to Install PHP on Windows" class="phphistorical_Version2_mids_title">How to Install PHP on Windows</a> <span id="377j5v51b" class="Articlelist_txts_time">Jul 15, 2025 am 02:46 AM</span> <p class="Articlelist_txts_p">The key steps to install PHP on Windows include: 1. Download the appropriate PHP version and decompress it. It is recommended to use ThreadSafe version with Apache or NonThreadSafe version with Nginx; 2. Configure the php.ini file and rename php.ini-development or php.ini-production to php.ini; 3. Add the PHP path to the system environment variable Path for command line use; 4. Test whether PHP is installed successfully, execute php-v through the command line and run the built-in server to test the parsing capabilities; 5. If you use Apache, you need to configure P in httpd.conf</p> </div> <div id="377j5v51b" class="phphistorical_Version2_mids"> <a href="http://m.miracleart.cn/faq/1796837551.html" title="PHP Syntax: The Basics" class="phphistorical_Version2_mids_img"> <img onerror="this.onerror=''; this.src='/static/imghw/default1.png'" src="/static/imghw/default1.png" class="lazy" data-src="https://img.php.cn/upload/article/001/253/068/175251878048890.jpg?x-oss-process=image/resize,m_fill,h_207,w_330" alt="PHP Syntax: The Basics" /> </a> <a href="http://m.miracleart.cn/faq/1796837551.html" title="PHP Syntax: The Basics" class="phphistorical_Version2_mids_title">PHP Syntax: The Basics</a> <span id="377j5v51b" class="Articlelist_txts_time">Jul 15, 2025 am 02:46 AM</span> <p class="Articlelist_txts_p">The basic syntax of PHP includes four key points: 1. The PHP tag must be ended, and the use of complete tags is recommended; 2. Echo and print are commonly used for output content, among which echo supports multiple parameters and is more efficient; 3. The annotation methods include //, # and //, to improve code readability; 4. Each statement must end with a semicolon, and spaces and line breaks do not affect execution but affect readability. Mastering these basic rules can help write clear and stable PHP code.</p> </div> <div id="377j5v51b" class="phphistorical_Version2_mids"> <a href="http://m.miracleart.cn/faq/1796838471.html" title="Your First PHP Script: A Practical Introduction" class="phphistorical_Version2_mids_img"> <img onerror="this.onerror=''; this.src='/static/imghw/default1.png'" src="/static/imghw/default1.png" class="lazy" data-src="https://img.php.cn/upload/article/001/253/068/175260852128280.jpg?x-oss-process=image/resize,m_fill,h_207,w_330" alt="Your First PHP Script: A Practical Introduction" /> </a> <a href="http://m.miracleart.cn/faq/1796838471.html" title="Your First PHP Script: A Practical Introduction" class="phphistorical_Version2_mids_title">Your First PHP Script: A Practical Introduction</a> <span id="377j5v51b" class="Articlelist_txts_time">Jul 16, 2025 am 03:42 AM</span> <p class="Articlelist_txts_p">How to start writing your first PHP script? First, set up the local development environment, install XAMPP/MAMP/LAMP, and use a text editor to understand the server's running principle. Secondly, create a file called hello.php, enter the basic code and run the test. Third, learn to use PHP and HTML to achieve dynamic content output. Finally, pay attention to common errors such as missing semicolons, citation issues, and file extension errors, and enable error reports for debugging.</p> </div> <div id="377j5v51b" class="phphistorical_Version2_mids"> <a href="http://m.miracleart.cn/faq/1796838480.html" title="What is PHP and What is it Used For?" class="phphistorical_Version2_mids_img"> <img onerror="this.onerror=''; this.src='/static/imghw/default1.png'" src="/static/imghw/default1.png" class="lazy" data-src="https://img.php.cn/upload/article/001/253/068/175260871190031.jpg?x-oss-process=image/resize,m_fill,h_207,w_330" alt="What is PHP and What is it Used For?" /> </a> <a href="http://m.miracleart.cn/faq/1796838480.html" title="What is PHP and What is it Used For?" class="phphistorical_Version2_mids_title">What is PHP and What is it Used For?</a> <span id="377j5v51b" class="Articlelist_txts_time">Jul 16, 2025 am 03:45 AM</span> <p class="Articlelist_txts_p">PHPisaserver-sidescriptinglanguageusedforwebdevelopment,especiallyfordynamicwebsitesandCMSplatformslikeWordPress.Itrunsontheserver,processesdata,interactswithdatabases,andsendsHTMLtobrowsers.Commonusesincludeuserauthentication,e-commerceplatforms,for</p> </div> <div id="377j5v51b" class="phphistorical_Version2_mids"> <a href="http://m.miracleart.cn/faq/1796838469.html" title="PHP 8 Installation Guide" class="phphistorical_Version2_mids_img"> <img onerror="this.onerror=''; this.src='/static/imghw/default1.png'" src="/static/imghw/default1.png" class="lazy" data-src="https://img.php.cn/upload/article/001/253/068/175260847090469.jpg?x-oss-process=image/resize,m_fill,h_207,w_330" alt="PHP 8 Installation Guide" /> </a> <a href="http://m.miracleart.cn/faq/1796838469.html" title="PHP 8 Installation Guide" class="phphistorical_Version2_mids_title">PHP 8 Installation Guide</a> <span id="377j5v51b" class="Articlelist_txts_time">Jul 16, 2025 am 03:41 AM</span> <p class="Articlelist_txts_p">The steps to install PHP8 on Ubuntu are: 1. Update the software package list; 2. Install PHP8 and basic components; 3. Check the version to confirm that the installation is successful; 4. Install additional modules as needed. Windows users can download and decompress the ZIP package, then modify the configuration file, enable extensions, and add the path to environment variables. macOS users recommend using Homebrew to install, and perform steps such as adding tap, installing PHP8, setting the default version and verifying the version. Although the installation methods are different under different systems, the process is clear, so you can choose the right method according to the purpose.</p> </div> <div id="377j5v51b" class="phphistorical_Version2_mids"> <a href="http://m.miracleart.cn/faq/1796838490.html" title="How Do You Handle File Operations (Reading/Writing) in PHP?" class="phphistorical_Version2_mids_img"> <img onerror="this.onerror=''; this.src='/static/imghw/default1.png'" src="/static/imghw/default1.png" class="lazy" data-src="https://img.php.cn/upload/article/001/253/068/175260889130362.jpg?x-oss-process=image/resize,m_fill,h_207,w_330" alt="How Do You Handle File Operations (Reading/Writing) in PHP?" /> </a> <a href="http://m.miracleart.cn/faq/1796838490.html" title="How Do You Handle File Operations (Reading/Writing) in PHP?" class="phphistorical_Version2_mids_title">How Do You Handle File Operations (Reading/Writing) in PHP?</a> <span id="377j5v51b" class="Articlelist_txts_time">Jul 16, 2025 am 03:48 AM</span> <p class="Articlelist_txts_p">TohandlefileoperationsinPHP,useappropriatefunctionsandmodes.1.Toreadafile,usefile_get_contents()forsmallfilesorfgets()inaloopforline-by-lineprocessing.2.Towritetoafile,usefile_put_contents()forsimplewritesorappendingwiththeFILE_APPENDflag,orfwrite()w</p> </div> <div id="377j5v51b" class="phphistorical_Version2_mids"> <a href="http://m.miracleart.cn/faq/1796837576.html" title="python if else example" class="phphistorical_Version2_mids_img"> <img onerror="this.onerror=''; this.src='/static/imghw/default1.png'" src="/static/imghw/default1.png" class="lazy" data-src="https://img.php.cn/upload/article/001/431/639/175251931047247.jpg?x-oss-process=image/resize,m_fill,h_207,w_330" alt="python if else example" /> </a> <a href="http://m.miracleart.cn/faq/1796837576.html" title="python if else example" class="phphistorical_Version2_mids_title">python if else example</a> <span id="377j5v51b" class="Articlelist_txts_time">Jul 15, 2025 am 02:55 AM</span> <p class="Articlelist_txts_p">The key to writing Python's ifelse statements is to understand the logical structure and details. 1. The infrastructure is to execute a piece of code if conditions are established, otherwise the else part is executed, else is optional; 2. Multi-condition judgment is implemented with elif, and it is executed sequentially and stopped once it is met; 3. Nested if is used for further subdivision judgment, it is recommended not to exceed two layers; 4. A ternary expression can be used to replace simple ifelse in a simple scenario. Only by paying attention to indentation, conditional order and logical integrity can we write clear and stable judgment codes.</p> </div> </div> <a href="http://m.miracleart.cn/be/" class="phpgenera_Details_mainL4_botton"> <span>See all articles</span> <img src="/static/imghw/down_right.png" alt="" /> </a> </div> </div> </div> </main> <footer> <div id="377j5v51b" class="footer"> <div id="377j5v51b" class="footertop"> <img src="/static/imghw/logo.png" alt=""> <p>Public welfare online PHP training,Help PHP learners grow quickly!</p> </div> <div id="377j5v51b" class="footermid"> <a href="http://m.miracleart.cn/about/us.html">About us</a> <a href="http://m.miracleart.cn/about/disclaimer.html">Disclaimer</a> <a href="http://m.miracleart.cn/update/article_0_1.html">Sitemap</a> </div> <div id="377j5v51b" class="footerbottom"> <p> ? php.cn All rights reserved </p> </div> </div> </footer> <input type="hidden" id="verifycode" value="/captcha.html"> <link rel='stylesheet' id='_main-css' href='/static/css/viewer.min.css?2' type='text/css' media='all' /> <footer> <div class="friendship-link"> <p>感谢您访问我们的网站,您可能还对以下资源感兴趣:</p> <a href="http://m.miracleart.cn/" title="国产av日韩一区二区三区精品">国产av日韩一区二区三区精品</a> <div class="friend-links"> </div> </div> </footer> <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body><div id="1u561" class="pl_css_ganrao" style="display: none;"><small id="1u561"></small><form id="1u561"></form><abbr id="1u561"></abbr><code id="1u561"><legend id="1u561"><object id="1u561"><ol id="1u561"></ol></object></legend></code><abbr id="1u561"><table id="1u561"><tbody id="1u561"></tbody></table></abbr><menu id="1u561"></menu><dd id="1u561"><pre id="1u561"><dfn id="1u561"><mark id="1u561"></mark></dfn></pre></dd><acronym id="1u561"></acronym><fieldset id="1u561"></fieldset><listing id="1u561"></listing><listing id="1u561"></listing><pre id="1u561"><div id="1u561"><big id="1u561"></big></div></pre><small id="1u561"><style id="1u561"><optgroup id="1u561"><s id="1u561"></s></optgroup></style></small><th id="1u561"></th><b id="1u561"><rp id="1u561"><abbr id="1u561"></abbr></rp></b><s id="1u561"><rt id="1u561"></rt></s><nobr id="1u561"><small id="1u561"></small></nobr><mark id="1u561"><kbd id="1u561"><tr id="1u561"><button id="1u561"></button></tr></kbd></mark><pre id="1u561"><span id="1u561"><legend id="1u561"></legend></span></pre><table id="1u561"></table><tt id="1u561"></tt><strong id="1u561"><label id="1u561"><input id="1u561"></input></label></strong><pre id="1u561"></pre><fieldset id="1u561"><acronym id="1u561"><legend id="1u561"><div id="1u561"></div></legend></acronym></fieldset><var id="1u561"></var><abbr id="1u561"><table id="1u561"><strong id="1u561"><cite id="1u561"></cite></strong></table></abbr><acronym id="1u561"></acronym><pre id="1u561"></pre><del id="1u561"><em id="1u561"><button id="1u561"></button></em></del><var id="1u561"></var><small id="1u561"><style id="1u561"><menu id="1u561"></menu></style></small><cite id="1u561"></cite><dl id="1u561"><th id="1u561"></th></dl><pre id="1u561"><sup id="1u561"><ruby id="1u561"></ruby></sup></pre><abbr id="1u561"></abbr><abbr id="1u561"><table id="1u561"></table></abbr><pre id="1u561"><span id="1u561"><big id="1u561"><xmp id="1u561"></xmp></big></span></pre><rt id="1u561"></rt><style id="1u561"></style><var id="1u561"></var><source id="1u561"></source><sup id="1u561"></sup><pre id="1u561"></pre><table id="1u561"><optgroup id="1u561"></optgroup></table><option id="1u561"></option><form id="1u561"></form><style id="1u561"></style><strong id="1u561"><object id="1u561"><ol id="1u561"></ol></object></strong><s id="1u561"></s><sub id="1u561"><progress id="1u561"><meter id="1u561"></meter></progress></sub><small id="1u561"></small><acronym id="1u561"></acronym><tt id="1u561"></tt><address id="1u561"></address><center id="1u561"><dd id="1u561"><font id="1u561"><menuitem id="1u561"></menuitem></font></dd></center><legend id="1u561"></legend><address id="1u561"></address><progress id="1u561"></progress><strong id="1u561"></strong><progress id="1u561"></progress><samp id="1u561"><pre id="1u561"><sup id="1u561"></sup></pre></samp><var id="1u561"><strong id="1u561"></strong></var><legend id="1u561"></legend><bdo id="1u561"><code id="1u561"><legend id="1u561"><p id="1u561"></p></legend></code></bdo><ol id="1u561"></ol><thead id="1u561"></thead><ins id="1u561"><ul id="1u561"><tt id="1u561"><option id="1u561"></option></tt></ul></ins><li id="1u561"></li><ul id="1u561"><font id="1u561"><pre id="1u561"><button id="1u561"></button></pre></font></ul><b id="1u561"></b><pre id="1u561"></pre><th id="1u561"><tbody id="1u561"><pre id="1u561"></pre></tbody></th><strong id="1u561"></strong><cite id="1u561"></cite><tfoot id="1u561"></tfoot><sub id="1u561"><thead id="1u561"></thead></sub><form id="1u561"><address id="1u561"><sup id="1u561"></sup></address></form><kbd id="1u561"></kbd><table id="1u561"><track id="1u561"><small id="1u561"></small></track></table><ins id="1u561"></ins><acronym id="1u561"></acronym><tfoot id="1u561"></tfoot><menuitem id="1u561"><dd id="1u561"></dd></menuitem><dd id="1u561"><sub id="1u561"></sub></dd><noframes id="1u561"></noframes><pre id="1u561"></pre><i id="1u561"><legend id="1u561"></legend></i><thead id="1u561"><acronym id="1u561"></acronym></thead><samp id="1u561"></samp><optgroup id="1u561"><label id="1u561"><sup id="1u561"><dl id="1u561"></dl></sup></label></optgroup><kbd id="1u561"></kbd><style id="1u561"></style><form id="1u561"></form><dd id="1u561"></dd><strike id="1u561"></strike><label id="1u561"><table id="1u561"></table></label><legend id="1u561"></legend><pre id="1u561"><dfn id="1u561"><mark id="1u561"></mark></dfn></pre><s id="1u561"><dl id="1u561"></dl></s><thead id="1u561"></thead><var id="1u561"></var><sup id="1u561"><center id="1u561"><delect id="1u561"><del id="1u561"></del></delect></center></sup><var id="1u561"></var><style id="1u561"></style><acronym id="1u561"><strike id="1u561"></strike></acronym><abbr id="1u561"><table id="1u561"><strong id="1u561"><cite id="1u561"></cite></strong></table></abbr><rp id="1u561"><video id="1u561"><dfn id="1u561"><small id="1u561"></small></dfn></video></rp><pre id="1u561"><dl id="1u561"><legend id="1u561"></legend></dl></pre><track id="1u561"><th id="1u561"><form id="1u561"><optgroup id="1u561"></optgroup></form></th></track><bdo id="1u561"></bdo><sup id="1u561"></sup><listing id="1u561"></listing><output id="1u561"><ruby id="1u561"><tr id="1u561"><optgroup id="1u561"></optgroup></tr></ruby></output><pre id="1u561"></pre><tr id="1u561"><menuitem id="1u561"></menuitem></tr><em id="1u561"><listing id="1u561"><li id="1u561"><code id="1u561"></code></li></listing></em><font id="1u561"><dfn id="1u561"><button id="1u561"><th id="1u561"></th></button></dfn></font><div id="1u561"></div><optgroup id="1u561"><nav id="1u561"></nav></optgroup><bdo id="1u561"><code id="1u561"><legend id="1u561"></legend></code></bdo><th id="1u561"><div id="1u561"><big id="1u561"></big></div></th><s id="1u561"></s><font id="1u561"></font><input id="1u561"><dl id="1u561"><cite id="1u561"></cite></dl></input><dl id="1u561"><acronym id="1u561"></acronym></dl><form id="1u561"><track id="1u561"><th id="1u561"></th></track></form><tbody id="1u561"></tbody><strong id="1u561"><label id="1u561"></label></strong><thead id="1u561"></thead><style id="1u561"></style><dl id="1u561"><strike id="1u561"><td id="1u561"><center id="1u561"></center></td></strike></dl><bdo id="1u561"></bdo><dfn id="1u561"></dfn><rp id="1u561"><abbr id="1u561"><li id="1u561"><abbr id="1u561"></abbr></li></abbr></rp><form id="1u561"><optgroup id="1u561"></optgroup></form><ol id="1u561"></ol><dfn id="1u561"><abbr id="1u561"></abbr></dfn><acronym id="1u561"><pre id="1u561"><dfn id="1u561"><mark id="1u561"></mark></dfn></pre></acronym><strong id="1u561"><label id="1u561"></label></strong><strong id="1u561"><label id="1u561"></label></strong><div id="1u561"><span id="1u561"></span></div><acronym id="1u561"></acronym><cite id="1u561"></cite><label id="1u561"></label><th id="1u561"><bdo id="1u561"></bdo></th><option id="1u561"><em id="1u561"><th id="1u561"><bdo id="1u561"></bdo></th></em></option><fieldset id="1u561"></fieldset><s id="1u561"></s></div> </html>