FUDforum
Fast Uncompromising Discussions. FUDforum will get your users talking.

Home » FUDforum Development » FUDforum 3.0+ » Creating a PHP 7/8 FUDforum (About my effort to create a new version of FUDforum)
Show: Today's Messages :: Unread Messages :: Polls :: Message Navigator
| Subscribe to topic | Bookmark topic 
Return to the default flat view Create a new topic Submit Reply
Creating a PHP 7/8 FUDforum [message #187954] Fri, 18 September 2020 13:34 Go to previous message
interestinglyaverage is currently offline  interestinglyaverage   United States
Messages: 4
Registered: July 2020
Karma:
Junior Member
add to buddy list
ignore all messages by this user
I am working on creating an updated version of FUDforum to be compatible with PHP 7/8, to be object oriented, and have a much more manageable theme system. I want to post here to give details of what I am working on and what I have planned so that the community can make comments, tell me where I might be off base, etc.

Goals
- Separate presentation from business logic - split pages into a model view controller style system.
- Move business logic into proper classes to reduce code duplication and improve maintainability
- Improve database access to be more secure
- Get rid of superglobals to improve security and maintainability

Roadmap
- Implement Twig support <- Done, but not fully tested
-- Add support for composer
-- Add support for twig
-- Add a rendering engine
-- Add support for PHPUnit
-- Add request lifecycle management
-- Replace database connections with new object oriented versions
-- Convert all pages to use a standard layout file and page specific views
-- Begin conversion of public\index.php into application bootstrapper
- Convert business logic to class based system
-- Move logic from page files into classes
-- Move any output mixed into business logic into the view as appropriate
- Localization and SEO
-- Add optional request processor to handle SEO friendly URLs, and generate SEO friendly links
-- Add localization support
-- Add translation support

New Folder Structure
These are new folders to support this structure
DATA_DIR\FUDEngine\Lifecycle - Request and Response classes managing IO
DATA_DIR\FUDEngine\Part - Components of the forum, such as Post and Thread, as well as utilities to generate lists such as PostList and ThreadList
DATA_DIR\FUDEngine\Renderer - Classes related to rendering output, including TwigRenderer and JSONRenderer
DATA_DIR\FUDEngine\Utility - Utilities such as configuration management
DATA_DIR\Page - Page files, moved from WWW_ROOT_DISK\theme\<theme_name>
DATA_DIR\Theme\<theme_name>\template - Template files, such as layout.twig and sidebar.twig
DATA_DIR\Theme\<theme_name>\view - Page views, moved from WWW_ROOT_DISK\theme\<theme_name>
WWW_ROOT_DISK\theme - contains img, js and css folders for theme-specific elements

GitHub
As I am testing this, I have the version I am working on posted to my GitHub: https://github.com/wigedev/FUDForum/

Third Party Support?
A question for the community, what are your thoughts on implementing support for dependency injection (PHP-DI) or third party logging modules such as Monolog?

Please take a look at my plan and the code-in-progress and let me know what you think!

[Updated on: Fri, 18 September 2020 15:44]

Report message to a moderator

[Message index]
 
Read Message
Read Message
Read Message
Read Message
Previous Topic: Forum Backup - 504 Gateway Timeout issue
Next Topic: FUDforum's IRC chat channel
Goto Forum:
  

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ]

Current Time: Tue Oct 20 18:37:48 EDT 2020

Total time taken to generate the page: 0.00683 seconds