{"id":22537789,"url":"https://github.com/carlmcdade/phype_framework","last_synced_at":"2026-04-17T11:33:43.935Z","repository":{"id":66875661,"uuid":"84862183","full_name":"carlmcdade/phype_framework","owner":"carlmcdade","description":"PHP7 HTML5 MVC website framework - A  flexible micro-framework designed to help you build dynamic websites and easy to maintain applications - fast!","archived":false,"fork":false,"pushed_at":"2017-04-07T08:20:22.000Z","size":13079,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-03-28T06:42:24.079Z","etag":null,"topics":["css3","html5","php7-framework"],"latest_commit_sha":null,"homepage":"http://demo.phype.net","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/carlmcdade.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"license.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-03-13T18:43:03.000Z","updated_at":"2017-03-19T19:41:59.000Z","dependencies_parsed_at":"2023-03-11T00:24:52.945Z","dependency_job_id":null,"html_url":"https://github.com/carlmcdade/phype_framework","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/carlmcdade/phype_framework","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/carlmcdade%2Fphype_framework","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/carlmcdade%2Fphype_framework/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/carlmcdade%2Fphype_framework/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/carlmcdade%2Fphype_framework/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/carlmcdade","download_url":"https://codeload.github.com/carlmcdade/phype_framework/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/carlmcdade%2Fphype_framework/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31927975,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-17T10:35:34.458Z","status":"ssl_error","status_checked_at":"2026-04-17T10:35:09.472Z","response_time":62,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["css3","html5","php7-framework"],"created_at":"2024-12-07T11:08:35.713Z","updated_at":"2026-04-17T11:33:43.919Z","avatar_url":"https://github.com/carlmcdade.png","language":"PHP","readme":"[![Phype](http://demo.phype.net/_views/themes/default/images/phype_logo_header.jpg)](http://demo.phype.net/)\n\n\nPHP7 Framework\n==============\ncreated 2011-06-30\n@author Carl McDade\n\n\n\n    - Built and designed on PHP7 from scratch code in strict MVC format.\n    - Written in Pure PHP without a third party frameworks like Symfony\n    - Content Types based system for ultimate flexibility in website creation\n    - Field types are real HTML5 form elements\n    - Template creation in Pure PHP without any third party engine such as Twig or Smarty\n    - CSS3 based mobile device ready and responsive theme system\n    - No javascript or Javascript framework is used in Phype Framework. Instead Phype uses CSS pseudo-classes\n\n\n## Table of Contents\n\n* [Requirements](#requirements)\n* [Installation](#installation)\n* [Configuration](#configuration)\n* [Architecture](#architecture)\n* [MVC Routing](#mvc-routing)\n    * [Overview](#overview)\n    * [Examples](#examples)\n* [Module Building](#module-building)\n    * [Overview](#overview-1)\n    * [Examples](#examples-1)\n* [Template System](#template-system)\n* [Themes](#thems)\n* [Content Types](#content-types)\n* [Forms](#forms)\n* [Fields](#fields)\n\n\n\n### Features\n\n      - content types\n\t  - field types\n\t  - default responsive design\n\t  - example microblog\n\t  - example content types with image uploader, blog\n\t  - built-in inline documentation system for faster development\n\t  \nDemo: http://demo.phype.net/\n\nContact Author : https://twitter.com/carlmcdade\n\n### Requirements\n\n    - PHP version 7.0 or above.\n\t- SQLite3 enabled (included in PHP7)\n\t- JSON enabled\n\t- PDO enabled\n    \n    \n### Installation\n\nAfter meeting the requirements the installation of Phype framework could not be easier.\n\n1. Create an instance by placing the archive contents in a directory or the root directory on the web server.\n2. configure the instance\n3. browse to the directory or root directory of the instance.\n\n\n### Configuration\n\nGo to the directory \"_configuration\" find the default directory and copy it. Rename the copy with the domain name ex. [www.myhost.com]\nFind the config.inc file and change the following line to match your domain or sub-domain   \n\n```\t\n$settings['system']['base_url']['value'] = \"http://demo.phype.net\";\n```\nOnce this has been set you can continue to do the configuration manually or web browse to http://your_domain.com/index.php?admin/main\n\t\n```\nTip: If you are going to develop simultaneously on a local PC then create a configuration \ncopy for the local web server.\n```\t\n\n### Architecture\n\n```    _configuration\n        [domain.name.com]\n            config.inc\n        [default]\n            config.ini\n    _controllers\n        [module]\n            [module].class.inc\n            [module]_[type].class.inc\n            [module]_config.inc\n    _helpers\n    _models\n    _views\n        themes\n            [theme_name]\n                [page]\n                    page.tpl.php\n                [html]\n\n    _css\n    _files\n    _js\n    cck.php\n    index.php\n    .htaccess\n```\n\n## MVC Routing\n\n### Overview\n\n[![Phype](http://demo.phype.net/_views/themes/default/images/MVC.png)](http://demo.phype.net/)\n\nThe Phype framework interprets asked for URLs in a MVC pattern to output provided by PHP namespaces, classes and methods. The bootstrap of the index.php file detects the route and forwards the request to the controller/modules in a set order with options. Class and method in the request  the uri fo the request can be recieved in the following forms.\n \n      \n* default path selection: [class]/[method]/ example: blog/blog_list\n* optional explicit path: [namespace]\\[class]/[method][arguments] example: content\\content_admin/content_types/[arguments]\n* section path via naming convention : [suffix]/[namespace]/[method]  example;  [admin || form || api]/blog/blog_posts\n\n\n### Examples\n\n```\n\nhttp://demo.phype.net/index.php?blog/blog_latest\n the above URL translates to http://demo.phype.net/index.php?[namespace || class]/[method]\n \nhttp://demo.phype.net/index.php?admin/admin/module/blog\n the above URL translates to http://demo.phype.net/index.php?[[namespace || class]_[type]]/[method]/[argument]\n \n Using this you can trace the code being called.\n  _controllers\n          [module]\n              [module].class.inc\n              [module]_[type].class.inc\n``` \n            \n  Entering the proper strings from the above URL translates to demo.phype.net/index.php? [[\"admin\"] OR [\"admin_admin\"]]/[\"module\"]/[\"blog\"].\n  Which leads to the following method locate in the \"admin\" module directory in the \"admin_admin\".class.inc file.\n  \n```php\n  function module()\n      {\n          global $cck;\n          $args = $cck-\u003e_args();\n          $output = '';\n          // get all links from each class controller\n          $main_menu = $cck-\u003e_hooks('hook_links');\n          $admin_menu = $cck-\u003e_hooks('hook_admin_links', 'admin');\n  \n          $variables['page_title'] = 'system configuration';\n          $variables['main_navigation'] = $cck-\u003e_menu_links($main_menu, 'links_main_menu');\n          $set = $cck-\u003e_get_module_config($args[0]);\n          //exit($cck-\u003e_debug($set));\n          if(is_array($set) \u0026\u0026 $set !== FALSE)\n          {\n              $admin_form = new admin_form();\n              $form = $admin_form-\u003eadmin_form_view_settings($set,$args[0]);\n          }\n          else\n          {\n              $form = 'no settings file found';\n          }\n  \n          $variables['content'] = $form ;\n  \n          print $cck-\u003e_view('page_admin', $variables);\n  \n      }\n\n \n```\n\n[view this](http://demo.phype.net/index.php?admin/admin/module/blog)\n\n## Module Building\n\n### Overview\n\nModules are a set of class declaration files, any desired helper classes and a configuration file. Contain them in a directory of the same name\nas the modules main class file.\n\n```\n_controllers\n        [module]\n            [module].class.inc \n            [module]_[type].class.inc\n            [module]_config.inc\n\n```\n\n### Examples\n\n```\n_controllers\n        blog\n            blog.class.inc; //required\n            blog_admin.class.inc; // optional for hooking into admin GUI\n            blog_api.class.inc; // optional for json service\n            blog_form.class.inc; // \n            blog_config.inc\n\n```\n[view this](http://demo.phype.net/index.php?admin/admin/documentation/blog)\n\n\n## Template System\n\n### Views\n\n## Themes\n\n### CSS3\n\nThe developer needs to be familiar with CSS3 and pseudo-elements\n\n### HTML5\n\nPhype framework uses only HTML5 forms and elements\n\n### Responsive\n\nOut of the box responsive default themes. \n\n## Content Types\n\nContent types are virtual containers for the forms and fields needed to create, update and delete user content. \n\n[view this](http://demo.phype.net/index.php?admin/content/content_type_list)\n\nBuilding content types is easy. Just pick a name and start adding any number of HTML5 form elements to the content type.\n\n[view this](http://demo.phype.net/index.php?admin/content/content_type_add)\n\n\n## Forms\n\nPhype uses HTML5 supported form elements. Form elements are listed in the administration and can be edited in the GUI.\n\n[view this](http://demo.phype.net/index.php?admin/content/content_type_fields/1)\n\n## Fields\n\nFields are virtual containers for HTML5 form elements\n\n[view this](http://demo.phype.net/index.php?admin/content/content_type_fields/1)\n\nOnce a field has been added to a content type that field can then be edited further.\n\n[view this](http://demo.phype.net/index.php?admin/content/content_type_field_edit/1/3)\n    \n@TODO:\n\n - Web forms.\n\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcarlmcdade%2Fphype_framework","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcarlmcdade%2Fphype_framework","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcarlmcdade%2Fphype_framework/lists"}