# WEBD-325-45 – PHP Programming, Adv.
> Llewellyn van der Merwe<br />
Week 7: Homework – PHP Advanced Techniques<br />
May 6th, 2022

### 1. Which basic PHP programming skills do you better understand? Have more proficiency in?

Starting I was not sure if we will in any way cover new ground, seeing that I have already been working in the PHP world for a number of years. Yet, with the turn of week three I was starting to see some interesting ideas that I wanted to pursue that would allow me to understand dependency injection on a far more personal level. Coming from the Joomla world and seeing this new architectural design in Joomla 4, I wanted to know more than just the average glance… I wanted to own it! This is exactly what I did, from literately the ground up I was able to build my own little CMS using only Joomla framework classes, and of course my own few MVC and other additional classes. This allowed me the time to explore the removal of complexity on a level that has indeed been refreshing to say the least. Consequently this excursion outside of the curriculum requirements has afforded me an increase of proficiency that may indeed result in a whole new CMS+extension+builder, who knows...

### 2. Which advanced PHP programming technique learned throughout the past 7 weeks do you believe you'll use most in the future?

Well, this is hard to say as I basically knew many more programming techniques not covered in this course. But I did get to practice a few, and explore dependency injection as mentioned above. The combination of SOLID principles and other object orientated restraint will increase to a most effective programming future. So in that way this course has served to more clearly underline that to me.

### 3. Which advanced PHP programming technique do you believe was the easiest concept to learn? The hardest?

The first I ever learned was the MVC design pattern and the last has been dependency injection, if that could in anyway be reflective of what is easy or what is hard, I am not sure. But one thing is for sure once you know any programming techniques it makes programming so much easier and affords us the ability to more collectively work in unity amongst the global community of developers.

### 4. Which advanced PHP programming technique do you believe you still don't fully understand? How will you help yourself learn the content after the course is over?

For the last five years I have been working on a pattern that anticipates the business logic of any project and produce all the needed code at the highest level of complexity which I have never seen or learned about in any course or code I have seen before. Honestly, I firmly believe what I have developed will eventually become part of the known programming techniques as it is the combination of many techniques in a very surprising and powerful way. This is what I find most exciting and challenging to a degree that once I have refactored my compiler into more recognizable patterns, I know many will be baffled if they could but marginally understand how it works.

Being able to simply solve such extreme complexity has always been the next revolution in the pursuit of precision languages for humans.

The compiler at this time follows no good design patterns and is frightening to any who dare to take a look. Yet, is was my first attempt to solve this amazingly complex problem and in my mind it is very simple and easy to understand, and do follow design patters for which I just don't have names yet. I will in the coming months refactor the compiler and probably unleash the end of the world… as I am almost absolutely sure that this will give AI the key it has been waiting for.

**Reference:**

- 'Controller/Src at 2.0-Dev · Joomla-Framework/Controller'. GitHub, https://github.com/joomla-framework/controller. Accessed 6 May 2022.
- 'Di/Src at 2.0-Dev · Joomla-Framework/Di'. GitHub, https://github.com/joomla-framework/di. Accessed 6 May 2022.
- 'Joomla! Framework'. GitHub, https://github.com/joomla-framework. Accessed 6 May 2022.
- 'Joomla-Component-Builder/Admin/Helpers/Compiler at Staging · Vdm-Io/Joomla-Component-Builder'. GitHub, https://github.com/vdm-io/Joomla-Component-Builder. Accessed 6 May 2022.
- 'Model/Src at 2.0-Dev · Joomla-Framework/Model'. GitHub, https://github.com/joomla-framework/model. Accessed 6 May 2022.
- 'View/Src at 2.0-Dev · Joomla-Framework/View'. GitHub, https://github.com/joomla-framework/view. Accessed 6 May 2022.
