...

View Full Version : I want a PHP OOP course.



mOrloff
10-28-2009, 11:21 PM
I'd like to put together a small class (in the ballpark of 5 pupils (including myself)) for PHP OOP.
I've been looking for a good hands-on course, but just can't find one.

Is this the right place to post this?
In my mind, it doesn't perfectly fit in this forum, nor in the Projects forums.
Any advice?

I'd prefer to find someone in the Pacific Northwest (USA), or willing to travel here, who is well versed in the topic.
I learn sooo much better in a classroom environment, and I'm sure there are others out there who feel the same.
I can arrange for a location and all that kind of stuff.
Pupils would need to come with their own machines, and the instructor can come up with the curriculum (including number of days and hours, and prereq's). I'd imagine 3-5 days would be fruitful.

This could be a paying gig.

Any interest?
Any advice?

~ Mo

Fumigator
10-28-2009, 11:25 PM
Very nice idea. I'd like to be a pupil, as I really suck at applying OO to real world situations. I end up devolving into function structure just to get things done.

Lamped
10-28-2009, 11:36 PM
I'd be willing to teach such a thing, but over the internet, as I'm in the UK

mOrloff
10-28-2009, 11:55 PM
It's GREAT to see there's interest.

CompX, since I'm shooting for a traditional classroom environment, I guess I'll just say "I'll keep you in mind". ;)
But honestly, if you had some creative suggestions, those are always welcome.

~ Mo

Lamped
10-29-2009, 12:07 AM
I do remember reading my Turbo Pascal manual about OOP 15 years ago, and the headache I had at the time. I sympathise. It can be a hard thing to get your head around sometimes.

How many 13 year olds beg for Turbo Pascal 7 for Christmas? lol. The memories. I'm such a geek.

barkermn01
10-29-2009, 02:55 PM
class oop{
// use class vars via $this->var
private $var; // set inside this class
protected $var; // set inside this class or a extend of this class
public $var; // set from anywhere

function __construtor(){
// do something when class is started
}

// call method from inside the class with $this->
function method(){
//do something when method is called
}
}

$oop = new oop(); // call a new instance of oop
oop::method(); // call a method without an instance -- tends to be very advanced
$oop->method(); // call the method from the $oop instance of the oop class
$oop->var = true; // set $var inside the $oop instance of oop


That's why you dont find many courses,

I have just covered the main of it

I would bee happy to help provide for this,

Free Hosting, and such send me a PM and i will talk but you will need 2/3 Teacher per tutorial but we could create a good system to manage it all.


I do remember reading my Turbo Pascal manual about OOP 15 years ago, and the headache I had at the time. I sympathise. It can be a hard thing to get your head around sometimes.

How many 13 year olds beg for Turbo Pascal 7 for Christmas? lol. The memories. I'm such a geek.
God lol i just stole my dads book lol, and learn from there i was Delphi 7 though still pascal lol

Phil Jackson
10-29-2009, 03:15 PM
hmmm gives me an idea for a new project... online PHP class rooms!

barkermn01
10-29-2009, 04:24 PM
hmmm gives me an idea for a new project... online PHP class rooms!

That's what i was going on about lol, i would quite like to be a part of that, Maybe even do some sponsor ship's maybe even setup conferences for people to meet and have lessons (bit away from the idear lol),

Any one willing to help build such a system,
Drop some forums a wiki and other things a QandA Section for it but not just lock it to OOP cover all sides of php i know a few company's that might want in on this aswell, Government Financing to get it running

Phil Jackson
10-29-2009, 04:32 PM
im quite bussy with my plugnplay cms but i will definatly look into maybe creating a AJAX based class room environment. Bin replicating the facebook toolbar at the bottom of the facebook page on the side as a hobby...might come in useful, i'll mull over some ideas when i go for a crap :-)

mOrloff
10-29-2009, 06:04 PM
hmmm gives me an idea for a new project... online PHP class rooms!
Build it, and they will come.

barkermn01
10-29-2009, 06:06 PM
Build it, and they will come.

Kwl then i will Get a Hosting Account Setup for you Any one that wants to help Develop,

PM Me,
With name, Email Address, a Site as an Example of your work, and i will get us setup on a system were we can login bug check project manage and Stuff,

So Start PMing me

Okies, some Clarification,
For th Time Being Realistcly:
1 Web Site
2 Tutorial Rooms, Using AJAX
3 Wiki With Tutorials
4 Basic Forums or speak to the Codding forums Admins see if there willing to add a forum for oop that a couple of us monitor

When i say teachers, i meens some people that are willing to help users learn php in these tutorial room,
Any if people have idears for realistic things now post them

mOrloff
10-29-2009, 06:58 PM
... send me a PM and I will talk to you about ...
FYI: a PM should be ready and waiting patiently in your message box.

~ Mo

oracleguy
10-29-2009, 07:52 PM
Why not just teach it over the internet? A combination of some screen sharing software and a voice chat program would achieve the same result. Then you wouldn't be limiting yourself geographically.

oracleguy
10-29-2009, 07:58 PM
That's why you dont find many courses,

I have just covered the main of it


There is a lot more to object orientated programming than that. Being able to write the code is one thing but knowing when to use it and how to design your objects to be effective is a completely different thing. And that is what you really need to teach.

I admit I haven't done much with OOP in PHP specifically but if PHP supports any of these: virtual functions, inheritance, interfaces and abstract base classes covering them is important. Plus a few design patterns (singleton, composite, decorator, factory) would be a good idea too.

If you aren't careful with OOP you can design yourself into a corner, knowing when to make something an object and when not too is critical otherwise your code will be too akward to use.

mOrloff
10-30-2009, 12:04 AM
Why not just ... over the internet? ... screen sharing software and a voice chat program ... same result...
That actually sounds pretty good to me, especially if it turned out to be a one-on-one session.


There is a lot more to object orientated programming than that. ... knowing when to use it and how to design your objects ... that is what you really need to teach.

... if PHP supports any of these: virtual functions, inheritance, interfaces and abstract base classes covering them is important.
Plus a few design patterns (singleton, composite, decorator, factory) would be a good idea too.

... knowing when to make something an object and when not too is critical ...
GREAT input. These types of pointers are very needed, and totally welcome.

If anybody was interested in instructing something like this, I'm open to the virtual tutor idea.

~ Mo

Fou-Lu
10-30-2009, 02:52 AM
I wouldn't recommend PHP as the language of choice to learn OOP on. At all. Considering its origins it does have an excellent OO engine though.
PHP has some issues that are core related that will complicate the task. My recommendation would be to start with C#/Java (quite literally either will do), or another more modern and pure object oriented language, and once you understand the OO concepts then move into the implementation for PHP. PHP does support the most common models; no support for: packaged scope, handles single extension like Java/C# with multiple interfacing allowed, no overloading, no inner / nested classes, no class scoping, and no built-in templating/generics. I want to see PHP supporting generics and inner / nested classes in PHP 6, but so far the PHP 6 source doesn't include these features. Namespacing is a powerful new feature, but its just short of allowing overloading. Granted, overloading can be simulated in PHP since you can retrieve any arguments thrown at a method/function, but this introduces one of our complications with validation.

My concerns with PHP as the OO learning language is its lack of datatyping. PHP developers are already lazy enough in procedural code when it comes to datatype validation, and this is more of a problem with object control.
I guess my main point is that teaching PHP OO implementation is one thing, but teaching OO concepts is an entirely different thing.

oracleguy
10-30-2009, 06:21 AM
I wouldn't recommend PHP as the language of choice to learn OOP on. At all. Considering its origins it does have an excellent OO engine though.
PHP has some issues that are core related that will complicate the task. My recommendation would be to start with C#/Java (quite literally either will do), or another more modern and pure object oriented language, and once you understand the OO concepts then move into the implementation for PHP. PHP does support the most common models; no support for: packaged scope, handles single extension like Java/C# with multiple interfacing allowed, no overloading, no inner / nested classes, no class scoping, and no built-in templating/generics. I want to see PHP supporting generics and inner / nested classes in PHP 6, but so far the PHP 6 source doesn't include these features. Namespacing is a powerful new feature, but its just short of allowing overloading. Granted, overloading can be simulated in PHP since you can retrieve any arguments thrown at a method/function, but this introduces one of our complications with validation.

My concerns with PHP as the OO learning language is its lack of datatyping. PHP developers are already lazy enough in procedural code when it comes to datatype validation, and this is more of a problem with object control.
I guess my main point is that teaching PHP OO implementation is one thing, but teaching OO concepts is an entirely different thing.

Great minds think alike. I had actually thought of something very similar earlier and was coming here to post about it.

I agree PHP is not the language to learn OOP on. A different language like the ones you suggested would be better. C++ wouldn't be a bad choice either since it has a couple things C# lacks (I can't speak for Java) like friends which are good to be aware of.

A strongly typed language is important because it will help re-enforce things like inheritance and polymorphism, which regardless of if PHP supports them are core OOP concepts.

The OOP concepts learned from those languages can then be applied to PHP's more limited implementation. Objects can be incredibly powerful and it is good to leverage them when possible so teaching it to PHP developers is certainly a good idea. You just might not want to actually use PHP to teach it. If your target students are fairly strong in PHP, picking up C# or C++ enough to understand lessons in OOP would be easy. (C# or Java might be a little easier since you don't have to worry about memory management as much)

@Fou-Lu: Regarding PHP's lack of support of generics/templates, I don't think that is really necessary in a language that isn't strongly typed. Though overloading and namespaces would be cool to have in PHP.

barkermn01
10-30-2009, 12:21 PM
ok thats what im meening,

Thats what the AJAX Class room is for, internet training i will build something in my lunch to show you what i meen just a verry basic thow togeather and i will host it to show you how it works, Quick over view of what i meent

[Users 2/3 Levels]
- Level 1 == Student (wants to learn php oop and can talk to other students)
- Level 2 == Teacher (wants to teach others there)

[Teachers]
- Can create a class room (with a limit of students per room)
- Can Join a Class Room and see every thing said
- can PM anyone or Talk to everyone in the room

[students]
- can PM anyoneto ask some thing or ask in a general chat

Online Teaching System lol,

SystemJay
10-30-2009, 12:57 PM
So cool :thumbsup:

barkermn01
11-02-2009, 10:12 AM
Sorry ended up with bad news gonna get it done today and live by tonight hopefully sorry for the delys

mOrloff
11-04-2009, 02:56 PM
Sooo ... any progress???

LJackson
11-04-2009, 03:10 PM
great thread!!! oop is one of the things i really want to learn and understand properly, think this is a great idea.



EZ Archive Ads Plugin for vBulletin Copyright 2006 Computer Help Forum