diff --git a/5_Easy_Steps_to_Build_a_PHP_Framework.txt b/documents/5_Easy_Steps_to_Build_a_PHP_Framework.txt similarity index 100% rename from 5_Easy_Steps_to_Build_a_PHP_Framework.txt rename to documents/5_Easy_Steps_to_Build_a_PHP_Framework.txt diff --git a/IMPORTANT.txt b/documents/IMPORTANT.txt similarity index 100% rename from IMPORTANT.txt rename to documents/IMPORTANT.txt diff --git a/documents/folders.txt b/documents/folders.txt new file mode 100644 index 0000000..f9980f7 --- /dev/null +++ b/documents/folders.txt @@ -0,0 +1,93 @@ +tts_framework/src +├── bootstrap +│   ├── auto_loader.php (PSR-4-autoloader) +│   ├── common.php (custom string FNs, wipe data, and dump) +│   ├── errors.php (Error Handler) +│   ├── Exceptions_common_bool.php (Not a valid bool type Exception) +│   ├── filter.php (HTMLPurifier Bootstrap) +│   ├── requires.php (secure_includes, file/dir Filters/Validators) +│   ├── safer_io.php (Sanitize Input, Validate data and Escape output) +│   ├── site_helper.php (Set/Get Routes/Root Paths/Assets, etc...) +│   └── validator.php (validates HTML Forms) +├── classes +│   ├── api.php (Encodes JSON/XML/PHP Serializer) +│   ├── app.php (Fallback routes for the controllers) +│   ├── arrays +│   │   ├── common.php (Months/US States) +│   │   ├── countries.php +│   │   ├── mimes.php (get_mime_type for downloads) +│   │   ├── mocking +│   │   │   ├── address.php (Fake zip, city, street) +│   │   │   ├── phone.php (Fake phone #) +│   │   │   └── rnd_names.php (Fake person: age, first/last names) +│   │   ├── shortn.php (short_street_suffix) +│   │   └── zipcodes.php (5-digit Zip into State) +│   ├── assets.php (Fetch CSS/JS/Image, and site redirects) +│   ├── bb_code_parser.php (Take BB code and display output as HTML) +│   ├── console_app.php (Detects if running PHP from Command Line) +│   ├── contracts +│   │   ├── http_request_options.php +│   │   └── sessions_interface.php +│   ├── database +│   │   ├── dummy_data.php (Populates a DB w/ Dummy Data you give it bu # Rows wanted) +│   │   ├── help_load.php (fetch_lazy Generator) +│   │   ├── help_save.php (Model used to save into DB) +│   │   ├── paginate.php (PDO DB query to create links) +│   │   ├── run_sql.php (trait for sqlite/MySQL/PG helper to get fields/tables) +│   │   └── validation.php (trait to validate mysql fields) +│   ├── enum +│   │   ├── app_environment.php (fetch if is_production environment) +│   │   └── same_site.php (same_site: Lax, Strict, None) +│   ├── exceptions +│   │   └── DB_Exception.php (Handles DB Exceptions) +│   ├── html_document.php (HTML Class: set/get CSS/JS/Breadcrumbs/Title/Author/Header/Footer) +│   ├── html_parser.php (Escape HTML into BB code...to save into db) +│   ├── html.php (HTML Select-Options, Table maker) +│   ├── json.php (Outputs DB Records into JSON format) +│   ├── loadall.php (Creates loadall.php files if do not exist for Services & Config-Files) +│   ├── memory_usage.php (Displays PHP Memory Usage, when debug is set) +│   ├── page_not_found.php (CLI or tts built in views/404 page not found error) +│   ├── request.php (create a short url from get_url, post_var, misc. filter FNs) +│   ├── router.php (router::get/post, etc... used to setup PHP routes) +│   ├── safer_sql.php (Play-Testing SQL filter) +│   ├── security.php (hasing, csrf_token\session_hijacking_functions) +│   ├── services +│   │   ├── emailer.php (PHPMailer helper to send an email out) +│   │   ├── html_filter.php (HTMLPurifier Bootstraper) +│   │   ├── http_requests +│   │   │   └── http_curl_request.php (Does Curl requests) +│   │   ├── liquid_templates.php (Sets up Liquid Templates Engine for Views) +│   │   ├── log.php (Appends new Log to Project's logs folder) +│   │   ├── obsolete +│   │   │   ├── crypto.php (Old Sodium code for Public-key, or asymmetric cryptography) +│   │   │   ├── encryption.php (Old symmetric encryption based on openssl) +│   │   │   └── http_socket_request.php (Failed to get Sockets working, use Guzzle, PHP HTTP client instead!) +│   │   ├── paragon_crypto +│   │   │   ├── crypto.php (Newer sodium_crypto) +│   │   │   ├── password_storage.php (Hash and Verify Hashed passwords) +│   │   │   └── sodium_storage.php (Secure Cookies, Sessions, etc...) +│   │   ├── sessions (@todo Fix session destroy to erase old sessions) +│   │   │   ├── file_sessions.php +│   │   │   └── redis_sessions.php +│   │   ├── sessions.php (@todo Fix security to encrypt/decrypt sessions) +│   │   ├── simple_rest.php (demo REST API helper) +│   │   └── twilio.php (Loads Twilio Vendor files into Name Space) +│   ├── session_management.php (Starts PHP secure Sessions) +│   ├── tag_matches.php (Used by View, to make sure common HTML Tags are Balanced out) +│   ├── time_zone_selection.php (Builds HTML to Pick your Time Zone from Select Box) +│   ├── time_zones.php (Convert UTC into Users TimeZone) +│   ├── traits +│   │   ├── csrf_token_functions.php (Get an Cross-Site Request Forge - Prevention Token) +│   │   └── session_hijacking_functions.php (Prevent SESSION Hijacking and Fixation in PHP) +│   ├── url_encode.php (base64url Encode/Decode) +│   └── view.php (Loads view files from common folders you defined) +├── main.inc.php (Bootstraps App, sets configure, registry, di, and name-spaces) +├── templates +│   └── dev_error.php (It's Broken Page) +└── views + ├── 404.php (Default 404 Page Not Found Page/Image) + ├── default + │   └── broken.php (Debug Trace) + └── errors.php (when Live, this: Sorry, we had an error... Page is used) + +17 directories, 73 files diff --git a/src/classes/services/simple_rest.php b/src/classes/services/simple_rest.php index d30f106..d3843d4 100644 --- a/src/classes/services/simple_rest.php +++ b/src/classes/services/simple_rest.php @@ -8,6 +8,9 @@ class simple_rest { private $http_version = "HTTP/1.1"; + /** + * Should use \tts\site_helper:: instead! + */ public function route(): array { $uri = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH); $uri = explode('/', $uri);