Follow up - Advanced PHP course

2 views
Skip to first unread message

Scott Haines

unread,
Jun 15, 2010, 2:10:04 PM6/15/10
to Hacker Dojo PHP
Hey Everyone,
Now that the core PHP and OOP PHP have been covered enough that you
should be familiar with creating an Object, extending an Class
(creating a Class), using scope level keywords (private, public,
protected, static, const, self, parent), using the Factory Method
Design Pattern, making abstract functions, keeping it real with MVC
(Model - View - Controller Pattern), playing rough with Apache
httpd.conf and modifying your php.ini.

So since everyone knows or has the knowledge / resources at hand to
get a firm understanding of anything you may have struggled with or
needed more time to play with and figure out, -- I digress, I would
like to do an advanced Class where we can go over the 40% of PHP that
people never talk about.

1. Compiling PHP with custom includes (eg. php has myriad options
within the ./configure --help document)
2. Creating a PHP extension (module) with C, Writing a MySQL module in
C.
3. Compiling PHP with your own custom included modules.
4. Workers and Background Jobs in PHP (eg. Queue based processes,
video encoding, image batch, etc)
5. Using FFMPEG for video encoding / transcoding - *(just in time for
HTML5), HTML5 (video overview)
6. Memcached & Monitt

7. And some other fun stuff.

If you want to take part in the next wave of the class, I will need to
make sure that everyone is 100% ready to go with their localhost
environment completely setup. I will also require you to do a homework
assignment before the class begins that will cover pieces from last
class. More or less a test that you know and are prepared to dive head
first into the challenging part of PHP.

I hope everyone is doing well and thinking in code.

Aaron Infidel

unread,
Jun 15, 2010, 2:40:26 PM6/15/10
to hacker-...@googlegroups.com
I'd love too, but I really hope this time around you dedicate a little more outside time to answering unsolved mysteries.

I left that class confused and unknowing.

-Aaron

Brian Root

unread,
Jun 15, 2010, 2:47:30 PM6/15/10
to hacker-...@googlegroups.com
Mr. Haines;

Will you be starting a new intro session of your php class as well?  I discovered the workshop you are offering through the hacker dojo after you were already a few weeks into this one and had hoped I could enroll in the next round, if there was going to be a next round.

I know a little bit of php from what I've taught myself out of books, enough to know what I'm looking at when I'm editing wordpress themes, and have a basic idea of what the MVC model is after trying to plow through the cakephp documents a few times, but not really much beyond that.

root

Scott Haines

unread,
Jun 15, 2010, 2:52:16 PM6/15/10
to hacker-...@googlegroups.com
Aaron,
I run a web firm outside of the class, I can provide answers to the work we are doing in the class but when you begin asking about your own projects that enters into a bad territory where I begin to feel less of a teacher and more of a go to for answers. The point of the class is to teach the methods, teach the core php functions and show how to use them in a real world case study. If everyone in the class came to me with questions outside of the class material I wouldn't have time to run my business, and ultimately I am doing this to teach, not to solve individual 3rd party website issues.

If you can handle learning and listening to what is being taught I am sure it will help you down the road in your own projects, I will not answer entire solutions though to problems outside of the course material.
--
Scott Haines
Founder / Creative Director / Lead Architect
Newfront Creative LLC
P 408.905.8473 C 408.705.7833
http://www.newfrontcreative.com
http://www.twitter.com/newfront

Aaron Infidel

unread,
Jun 15, 2010, 3:08:23 PM6/15/10
to hacker-...@googlegroups.com
Sorry, but I specifically asked if you would help with a DB because I was unsure of how to go about doing it properly, and I (understand/understood at the time) that you have a web firm your running but when I asked you for this help in the beginning you originally said you were ok to helping me.

in all honesty, I wasn't asking for a full DB Setup, I mangage to do about 90% of it... I just had trouble understanding the workflow behind a good DB Design with the rules I was trying to follow.

granted, I have learn a lot from your teachings but once we got into OOP I felt there was so much we kind of just breezed over without much explanation as to why things worked the way they did.

this is mainly what I was talking about. not about the DB.

-Aaron

KevBurnsJr

unread,
Jun 15, 2010, 3:29:47 PM6/15/10
to Hacker Dojo PHP
I had planned to show up tonight for a PHP event.
The Hacker Dojo site still says there is an event tonight.
http://events.hackerdojo.com/

Maybe we could do a Q and A session?

Aaron: I'd be happy to take a look at your DB and share my thoughts.

- Kev

Aaron Infidel

unread,
Jun 15, 2010, 4:05:40 PM6/15/10
to hacker-...@googlegroups.com
Thanks Kev!

Screen shot 2010-05-28 at 4.56.17 PM.png

KevBurnsJr

unread,
Jun 15, 2010, 4:28:01 PM6/15/10
to Hacker Dojo PHP
Great stuff Aaron, but I don't think this group mailing list is the
proper venue for a discussion of this nature.
I'll respond to your DB question over here
http://www.phptalk.com/forum/topic/3955-help-with-db-schema/

- Kev


On Jun 15, 1:05 pm, Aaron Infidel <aa...@lifeiscontent.net> wrote:
> Thanks Kev!
>
>  Screen shot 2010-05-28 at 4.56.17 PM.png
> 82KViewDownload
>
>
>
> So, here is my DB Schema,
>
> Rolls:
>
>         Users can have many jobs.
>         Users have 1 profile.
>         Users can have many comments
>         Users with the job of reporter can have many news/event entries.
>         Users with the job of photographer can have many albums/photos.
>         Users with the job of videographer can have many videos.
>         Users with the job of dj can have many tracks.
>         Users with the job of designer can have many wallpapers.
>
>         All Entries can have many tags
>         All Entries can have many comments
>
> Problems:
>
>         I don't know how to create a way to have both photos grouped in albums and have comments on them.
>
> Ideas I would like integrated but don't know how to do it.
>
>         tag users in photos like facebook does.
>         assign profile photo to user
>         assign key photo to entry
>
> Thanks for taking a look.
>
> -Aaron

KevBurnsJr

unread,
Jun 15, 2010, 5:10:26 PM6/15/10
to Hacker Dojo PHP
On the topic of addressing the individual concerns of students, I've
always considered it helpful to differentiate lab from lecture.
Splitting a course into 1 hour lecture followed by 1 hour lab helps
balance the principle with the practice. Essential to getting the
concepts to stick. I'd be happy to hang around as a lab assistant of
sorts to help out with student projects/assignments.

I was a WebDev TA/intern in college.

- Kev

Aaron Infidel

unread,
Jun 15, 2010, 5:49:28 PM6/15/10
to hacker-...@googlegroups.com
So basically, with the machine tags, you just explode them in php, and reroute accordingly via switch case?

storing photos, videos, etc in each table?

Scott Haines

unread,
Jun 15, 2010, 6:33:26 PM6/15/10
to hacker-...@googlegroups.com
Kev,
That would be awesome. It is difficult enough preparing what seems like a good course, any sort of help is always a plus in my eyes. I am not against looking at people's code, (Aaron I did take a lot of time with you looking over you DB files and you site), just I am not going to take a lot of time in class to answer large questions that don't fall under the context of the current class. Eg, InnoDB vs MyISAM, we did MyISAM in class, so teaching has_many, has_one, belongs_to, etc relationships was outside of the context of the class, and needs a whole course in itself (database management) to know how to properly not kick yourself for going down that route. 

I find it is always easier to do joins, and then you don't have to pull your hair out when something is coming back broken. 

ex. "SELECT DISTINCT * FROM table LEFT JOIN table2 ON table.id = table2.id RIGHT JOIN table3 ON table2.id = table3.id WHERE table.name = '%$term%' AND table2.route_id = '{(int) $num}' ORDER BY table3.process_name DESC LIMIT $start,$end"

This way you can specify your joins, without having to worry about id's playing by the rules.
Reply all
Reply to author
Forward
0 new messages