Published on Aug 26, 2011 by Pim Elshoff
News #Learning #PHP #Zend #Doctrine #PHPCR #Orchestra #Backbone #Mustache #jQueryUI
When I was writing in my personal journal I made an entry of things I want to learn more about. I figured I’m going to learn at least some new tech or principle a month. I’ve already been trying out a few things, but sometimes computers just refuse to cooperate… Anyway, here is a list of stuff I’m currently watching and learning. So much to do, so little time.
I have been programming in PHP for a few years now and I felt like I was a bit stuck in the same routine. Even though there are plenty of developments in the PHP community which are all very exciting to follow, the community itself borrows a lot of things from… the community itself. So I figure, let’s look a bit beyond PHP and move into other scripting languages. I also have Ruby on my list, but I figured I could get Python’s mod_wsgi running in wamp. Euh, well, it seems my 64 bit machines are giving me talkback.
When I’m done learning the scripting languages I want to try my hands on something more serious. I am having doubts whether I want to do something with Scala, OCaml or keep it at Haskell. Since my interests revolve mostly around the web, Scala would be very interesting and Haskell would be quite hard. But I probably won’t make time for this soon.
I’ve been building websites with ZF for a couple of years now. I haven’t always used it to its full glory, but have certainly enjoyed the MVC approach and the table data gateway abstraction. Now that Symfony 2 has been released, Zend Framework can’t lag behind too far in releasing their second major release.
ZF2 will include such features as namespaces, a revamped approach to MVC and, apparently, an active record implementation. I however, would love to take a look at…
Doctrine isn’t a new player, and I’ve known of it for quite some time, but I’ve never taken the time to explore it. Doctrine is a wrapper around all things database, including an ORM, DBAL and other such cool acronyms.
I’m particularly interested in storing objects in relational databases, because that’s one of the major features that Webstruct cán do, but which has room for improvement. I’ve been working on implementing this problem in a more prudent manner in my ObjectStore hobby project (which was really more around learning to employ the Jenkins metrics), but I don’t want to reinvent the wheel for an actual production environment.
JCR or Java Content Repository is a Java based api of how content should be stored and retrieved. It isn’t a software product itself, but it has software implementing it, such as Apache Jackrabbit. PHPCR is the PHP variant and it currently has two implementers, namely Midgard and Jackalope. You can read more about the ideas behind content repositories on the blog of Henri Bergius, one of the creators of Midgard.
The gist is that CMS’s and their creators world wide keep reinventing the CMS wheel time and time again, especially when it comes to the more difficult, dynamic content types. Content Repositories define a consistent API that lets programmers solve this problem storage engine agnostically. That implies that you can just switch storage engine whenever you want, or switch administration package whenever you want, because when they both deliver and work with the same API the integration should be seemless.
After Doctrine I would also love to look into trying out CouchDB, a NoSQL DODBMS (Document Oriented Database Management System).
I know cloud hosting has been there for some time already, but I never took the time to look into it. With all the talk about Orchestra being acquired by Engine Yard, I felt like giving Orchestra a try out. Orchestra is a PaaS for PHP (Engine Yard is for Ruby). Basically what you do is to couple an Orchestra app to a git or svn repository and watch the magic go. I did a small test and literally had something running within minutes. The pricing is a bit too steep for me right now, but I could definitely look into hosting my blog in the cloud. Since I am planning a rewrite of my blog using html5 and php5.3+ anyway, this could be a great opportunity.
The only downside right now is that I can’t just port the blog, because I’m using Crowd Surfing’s CMS Webstruct which uses locally stored file uploads, which Orchestra doesn’t support. I also can’t seem to get git daemon running smoothly under windows to accept remote connections…
I had already started working on a github project. My enthusiasm came grinding to a halt when I considered there’s no way to host a project open source on github and setting things like mysql passwords.
I really really want to remake my blog using a RESTful back-end based on ZF2 with Doctrine as a DBAL and Jackalope as a storing engine, running regular ZF2 active records for normal database entries. Then I want to build an HTML/Js only admin module using backbone.js, mustache and good old jqueryui for all things flashy. Finally, the public module should work with some sort of fragmented internal request handling a la Kohana, except that I don’t know how to do that with ZF yet. And to top it off I would host it in Orchestra with images and files being fed from some service such as Flickr or Amazon S3.
Why, you ask? Cuz’it’s cool.
Be the first to comment!
No trackbacks yet