My Way to PHP: Day 49-60 of 75

I don’t really know what I should be talking about while developing. Because I lost my old data I reinstalled PHPStorm. Downloaded php and git with chocolatey.

Next I installed Symfony2 with composer. Then included it into PHPStorm, added the plugin and installed all the other requirements. I use EasyPHP for development which works pretty good. Then finally I changed the PHP.ini and started to outline the controller.


Originally, I wanted to do the main portion of coding this week. Now, I’m sick and in bed most of the time. Funnily, enough I coded some PHP in the meanwhile – mostly changing some WordPress plugins and stuff.

I’m seriously considering not completing the challenge. The thing is that I could hack down my Symfony app in one day if I would want to. But then, why should I. What’s the end in it. It don’t get the pleasure of completing arbitrary goals anymore I did a few years ago. Now, I rather spend my time to either some pleasurable or impactful. In a sense of solving some problem.

Maybe, when I get incredibly bored I think about it again but the outlook is that I don’t finish it. Let’s see.

 


Updates Goals

In Progress

  • Write at least one web app using Symfony2 and its core components (templating, testing, forms, validation, security)

My Way to PHP: Day 44-48 of 75

So, I chose the feedback application. It will be pretty simple. Besides the features I build on the other one I will add.

Features:

  • The ability to add and delete users
  • Each user can add one feedback tracking
  • Each user can only view his feedback

Pages:

  • Login
  • Feedback management (Code & Feedback)
  • User management (add & delete users)

Objects:

  • User
    • name
    • email
    • password
  • Comment
    • message
    • ipAddress
  • CommentCollection
    • List of Comment objects

I probably won’t be doing much or anything in the next week but afterwards I’m going to try to finish the app as soon as possible.

In the meantime I’m going to post some more of my prepared posts!


Updates Goals:

  • Write at least one web app using Symfony2 and its core components (templating, testing, forms, validation, security)

Progress status

In Progress

  • Write at least one web app using Symfony2 and its core components (templating, testing, forms, validation, security)

My Way to PHP: Day 40-43 of 75

 

Doing Everything with Nothing…

 

  • ephemeralization = more and more with less and less until you do everything with nothing

  • E.g. technological progress in bridge building, less material and better bridges

 


The Clean Code Talks — Inheritance, Polymorphism, & Testing

  • Premise: Most ifs can be replaced with polymorphism

  • Easier readable, easier testable

  • If there’s a switch statement you probably want to use polymorphism

 


 

Ok, done with the videos. I don’t have much time to spend on this project currently because I’m working on an other one which is also more promising. Nonetheless, I’d like to complete all remaining goals. I’m also deleting one goal which is about learning MySQL. In the last 40 days I picked up quite some stuff on MySQL and looked around for good resources. Either they were too specific for my needs or I already knew them. So I removed that.

The last thing is to check the learning part about Symfony2. I learned enough about it to start developing!


Great. Now, I got about a month to do the development. I try to do the actual programming in a short span of time so I don’t keep lost of track too much.

That is, I will spend most time – at least in the next two weeks – on planning and thinking about the structure in these posts.

I don’t want to make a big project just given the constraints I had.

Here are the ideas I’m considering:

  • Rewriting the feedback software but with a neat interface and user management
  • Rewrite one major internet application in a smaller version (FB, Twitter)

What will I choose? We will see in the next post!

 


Updates Goals:

  • Learn more about Symfony2
  • Learn a bit more about MySQL
  • Write at least one web app using Symfony2 and its core components (templating, testing, forms, validation, security)
  • Watch one video per day on average

Progress status

Done

  • Watch one video per day on average [75 of 75]
  • Learn more about Symfony2
  • Learn a bit more about MySQL

In Progress

  • Write at least one web app using Symfony2 and its core components (templating, testing, forms, validation, security)

 

My Way to PHP: Day 36-39 of 75

PHP Annotations: They Exist!

An annotation is a note that is made while reading any form of book or text

 

  • With PHP 5.1 getDocCoumments() was introduced

  • Get the configuration near the code

The rest of the talk are examples on how to use annotations and write your own ones with the Doctrine engine.

 


The Myth of the Genius Programmer

  • The myth of writing brilliant code and then reveal it to the world

  • Software is a community process / team effort

There’s a lot cultural stuff in it – I’d even say most of it.

The critique at around 45 minutes is great and perfectly summarizes the problems with the talk itself. Also interesting to see their reaction to that. It feels that they broke down in the Q&A session. Very interesting, indeed.

 


The Naked Bundle

  • Noback’s principle: Code shouldn’t rely on things it doesn’t need

  • Thus, code shouldn’t rely on a framework’s convention

  • You recognize a framework by the conventions

  • The problem with the bundle approach is that the code isn’t easily reusable outside of Symfony

  • The rest of the talk focuses on getting rid of implicit conventions and make things explicit

Really interesting talk! If you know my background most of my development wasn’t using web frameworks. I often used micro frameworks to just connect the end points. Therefore, my approach is just different. I talk about that a lot of times before yet I still think an application should be nearly independent of its presentation. And a good framework should allow to easily connect a commandline application to the web.

 


Decoupling with Design Patterns and Symfony2 DIC

 

There’s no single solution to extensibility. Because extensibility is not a single problem.

Interesting talk. Probably, one of the first talks about design patterns which actually uses them as a tool.

 


 

Updates Goals:

  • Learn Symfony2
  • Learn a bit more about MySQL
  • Write at least one web app using Symfony2 and its core components (templating, testing, forms, validation, security)
  • Watch one video per day on average

Progress status

In Progress

  • Watch one video per day on average [73 of 75]