{"id":21,"date":"2007-05-22T23:35:25","date_gmt":"2007-05-22T18:05:25","guid":{"rendered":"http:\/\/www.bin-co.com\/blog\/2007\/05\/iframe-features\/"},"modified":"2007-05-22T23:35:25","modified_gmt":"2007-05-22T18:05:25","slug":"iframe-features","status":"publish","type":"post","link":"https:\/\/www.bin-co.com\/blog\/2007\/05\/iframe-features\/","title":{"rendered":"iFrame Features"},"content":{"rendered":"<p><a href='http:\/\/www.bin-co.com\/blog\/2007\/05\/iframe-my-php-framework\/iframe-logo\/' rel='attachment wp-att-20' title='iFrame Logo'><img class=\"intro\" align=\"right\" src='http:\/\/www.bin-co.com\/blog\/wp-content\/uploads\/2007\/05\/iframe.png' alt='iFrame Logo' \/><\/a><\/p>\n<p class=\"intro\">In the previous post I introduced my new <a href=\"http:\/\/www.bin-co.com\/blog\/2007\/05\/iframe-my-php-framework\/\">PHP framework &#8211; iFrame<\/a>. It had the reasons why you should not use the framework. In these post, I will talk of the advantages you get if you use my framework. But  remember &#8211; do not use my framework.<\/p>\n<h2>No routing &#8211; Fully file based<\/h2>\n<p>There are no complicated routing rules &#8211; the URL should specify which file should be used. For example&#8230;<\/p>\n<p><code>http:\/\/www.example.com\/user\/create.php<\/code><\/p>\n<p>Here, &#8216;user&#8217; is the controller and &#8216;create&#8217; is the action. <\/p>\n<h2>Folder Structure<\/h2>\n<p>Like many other frameworks, iFrame has a rigid folder structure.<\/p>\n<pre>\/\n+-common.php\n+-configuration.php\n+-\/includes\/  #System files\n+-index.php\n+-\/user\/\n\t+-index.php\n\t+-<span class=\"special\">create.php<\/span>\n+-\/templates\/\n\t+-index.php\n\t+-\/user\/\n\t\t+-index.php\n\t\t+--<span class=\"highlight\">create.php<\/span>\n+-\/js\/\n\t+-\/user\/\n\t\t+--<span class=\"highlight\">create.js<\/span>\n+-\/css\/\n\t+-\/user\/\n\t\t+--<span class=\"highlight\">create.css<\/span>\n<\/pre>\n<h2>Auto inclusion of CSS\/JS files<\/h2>\n<p>The system will auto include the CSS\/JS files with the same file name as the current file &#8211; the files highlighted in the above &#8216;Folder Structure&#8217; will be included automatically when ever the create.php file is called.<\/p>\n<h2>Library for Paging\/Tagging<\/h2>\n<p>These two classes are great time savers. Unfortunatly they have no documentation &#8211; yet.<\/p>\n<h2>Small\/Manageable Files<\/h2>\n<p>The framework forces the code to be broken down into smaller parts. In this framework, one action is one file &#8211; instead of one controller per file as in other frameworks. I find this easier to manage than the other approch.<\/p>\n<h2>Uses OOPs only when it is required<\/h2>\n<p>I only use Object Oriented Programming only if there is a clear need to use it. This step made the system much simpler.<\/p>\n<h2>Three Layers<\/h2>\n<p>This framework tries to follow both MVC(server side 3 layer) and Content\/Behavior\/Presentation(client side 3 layer) approaches.<\/p>\n","protected":false},"excerpt":{"rendered":"<div class=\"mh-excerpt\"><p>In the previous post I introduced my new PHP framework &#8211; iFrame. It had the reasons why you should not use the framework. In these <a class=\"mh-excerpt-more\" href=\"https:\/\/www.bin-co.com\/blog\/2007\/05\/iframe-features\/\" title=\"iFrame Features\">[&#8230;]<\/a><\/p>\n<\/div>","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[21,25,30],"tags":[111,119,143,144,210,245],"class_list":["post-21","post","type-post","status-publish","format-standard","hentry","category-php","category-scripts","category-web-development","tag-features","tag-framework","tag-iframe","tag-iis","tag-php","tag-script"],"_links":{"self":[{"href":"https:\/\/www.bin-co.com\/blog\/wp-json\/wp\/v2\/posts\/21","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.bin-co.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.bin-co.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.bin-co.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.bin-co.com\/blog\/wp-json\/wp\/v2\/comments?post=21"}],"version-history":[{"count":0,"href":"https:\/\/www.bin-co.com\/blog\/wp-json\/wp\/v2\/posts\/21\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.bin-co.com\/blog\/wp-json\/wp\/v2\/media?parent=21"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.bin-co.com\/blog\/wp-json\/wp\/v2\/categories?post=21"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.bin-co.com\/blog\/wp-json\/wp\/v2\/tags?post=21"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}