February 07, 2006

Fostering PHP Development at Case

Posted at February 7, 2006 11:50 PM in .

I love programming in PHP. Despire what your opinions of PHP might be (there are a LOT of people out there who do not know how to write PHP properly (this includes anybody who has started a new PHP project in the past year and has not written it in PHP 5)), it has many uses, especially in the web sphere.

I have done a lot of PHP programming at Case. When I make something quick and dirty, I usually use PHP. When I write a big project, I usually use PHP. I love seeing things written in PHP because I feel it has advantages over other web languages in terms of performance, readability, and feature support.

In an attempt to foster PHP development around Case, I have started a project on opensource.case.edu called phpClasses. This project contains PHP classes and methods that will help you accomplish simple tasks at Case. So far, I have written a basic LDAP module, a generic functions class, and a USG class to interact with the USG web service.

The modules are currently very basic (I plan to put a lot more work in the LDAP module especially) (I just started it today), however the benefit to having a repository of common-use code should be pretty obvious.

I plan to put some time here and there on more modules. For now, I'm thinking that the only other module possibly worth doing is one that interacts with the blog server. It would provide methods for obtaining RSS feeds and even remote publishing through Movable Type's API.

If you want to foster development in other popular languages, by all means create a project at opensource.case.edu and publish your work.

Trackback

You can ping this entry by using http://blog.case.edu/gps10/mt-tb.cgi/5754 .

Five minutes after commenting on Greg's latest entry, I saw him and said "hey" but I don't think he knew...

Trackbacked from Me and Python Case Classes on brian's blog.

I love programming in Python. Despire what your opinions of Python might be... Alright, so instead of mirroring Greg's post,...

Trackbacked from Fostering Python Development at Case on brian's blog.

Comments

See this site for more information about Simple Plan.

Posted by Roger at February 8, 2006 12:15 AM

Stop feeding the trolls. You know what's going to happen to this blog entry.

Let me start it.

Perl!!!

...

No wait...

Ruby!!!

Okay... okay...

Python!! ;-) !

All right, I couldn't do that one with a straight face.

I'm done...

(vi is better than emacs)

Okay, now I am really done.

(Go BSD!!! Linux is the 5uX0r!!)

Posted by Jeremy Smith at February 8, 2006 01:41 AM

I once had to edit a web page directly on the server in vi. blech!

Posted by cool at February 8, 2006 11:34 AM

I used to do everything in the shell. Then I woke up and realized how archaic it is. With KDE's IO Slaves, I can just say open sftp://gps10@wiki.case.edu/path/to/my/file in any application and it works. So easy. Windows and OS X have nothing that can touch KDE's protocol handlers. (I also have ipod:// to drag and drop files to my iPod ;) )

Posted by Gregory Szorc at February 8, 2006 11:43 AM

I only recently discovered fish:// to move stuff around using SCP. I had been wondering forever why there wasn't a damn KDE equivalent of WinSCP or Fugu, now I know...

Posted by Brian Beck at February 8, 2006 12:24 PM

What we need more of is python. Discovered Brian? Don't you mean "Chris rules"?

Posted by Christopher Hesse at February 8, 2006 03:11 PM

Fine, fine. Turn this thread into a troll war. I will say that I like Python. If I didn't see PHP first, I probably would have jumped all over Python. PHP 5 and Python appear to be very similar. They are both excellent languages for all-around quick development. Python has the edge in command-line programming. PHP is still predominately web even though it is capable of so much more.

Posted by Gregory Szorc at February 8, 2006 03:17 PM

Where are the Case Python classes?

How about I rename the phpClasses project to Case Classes? Then we can have a single repository for all languages. If you Python guys are interested, I'll do it.

Posted by Gregory Szorc at February 8, 2006 03:19 PM

The reason I didn't mention anything about Python in my first comment is that I doubt anyone is using the same web frameworks as me; as I've said before, this is an area Python has already lost at. I have my own Case classes for the stuff I use, but I'll be the first to admit that I doubt anyone else would ever need to touch them. There is currently a big effort towards making everything WSGI-pluggable so that there are templating/sessions/URL mapping-agnostic interfaces to everything, but that won't come for a while. I'd be glad to put some Python classes in there for the stuff I use if there were actually demand...

Zope products for Case things might be useful. I know the EECS department's site is all Zope. But then again I wouldn't want to encourage anyone else to use Zope by making it easier...

Posted by Brian Beck at February 8, 2006 03:48 PM

What is this "WSGI" thing I keep hearing about. Guido was talking about it in his Web Framework Redux, and I had never heard of it before.

Posted by Jeremy Smith at February 8, 2006 04:29 PM

Here's the "official" WSGI document, which says that it's a "standard interface between web servers and Python web applications."

An parallel given in the document is Java's servlet API: "although Java has just as many web application frameworks available, Java's "servlet" API makes it possible for applications written with any Java web application framework to run in any web server that supports the servlet API."

The idea of providing standard interfaces has spread into other areas of web programming as well -- as I mentioned, people are working on similar things for templating and sessions and such, so that you can build your own custom framework stack and make extensions. When that happens, things like Python Case classes should actually be useful no matter what framework one is using.

Posted by Brian Beck at February 8, 2006 04:51 PM

Post a comment










Remember personal info?