What Happened when we Talked PHP with the Experts

Sarah Hawk
Tweet

Last Thursday I broke with tradition slightly and ran a Talk with the Experts session in the evening (down under), making it a bit more time-zone friendly for our UK audience. It also meant that I was able to swap my usual coffee for a wine, which probably made the session run a bit more smoothly. The subject was PHP and our expert was Lorna Mitchell, tutor of Object-oriented PHP and co-author of PHP Master: Write Cutting-edge Code.

Here is a list of useful resources that came out of the session:

What is PHP? http://en.wikipedia.org/wiki/PHP

A great beginners course on PHP https://learnable.com/courses/php-mysql-web-development-for-beginners-13

Paul’s PHP client for Beanstalkd https://github.com/pda/pheanstalk

Why use frameworks? http://www.phpandstuff.com/articles/top-10-reasons-why-you-should-use-a-php-framework

Unit testing framework http://www.phpunit.de/

Using composition rather than inheritance http://en.wikipedia.org/wiki/Composition_over_inheritance

Static site generators:
http://middlemanapp.com/
http://www.phrozn.info/en/
http://sculpin.io/

An excellent SSH client http://www.chiark.greenend.org.uk/~sgtatham/putty/

Find transcripts of past sessions here http://www.sitepoint.com/forums/showthread.php?873280-Transcripts-From-Past-Sessions

Sign up for email notifications of future sessions here https://www.facebook.com/sitepoint/app_115462065200508

And on the subject of future sessions, next up we have Talk Getting Started in the Industry with the Experts, with SitePoint devs Jude Aakjaer & Ben ‘The Axe’ Axnick. That will be taking place on Wed 1 May at 2pm PDT or you can find out what time it will be at your place here.

If you missed last Thursday’s session but are keen to know what went down, you can read the entire transcript here:

HAWK HAWK
Ok, well since Lorna is here, we may as well kick off. The format here is basically a free for all – if anyone has a question then throw it out there now.
I’ll monitor the questions and make sure that they all get answered.
mycritte… mycritter
can we start w frameworks?
SEO2013 SEO2013
Can we start with – What is PHP? :)
HAWK HAWK

Sure thing @mycritter – did you have a specific question relating to frameworks?

Here you go @SEO2013 http://en.wikipedia.org/wiki/PHP
BTW, I’ll be posting a full transcript of this session up on sitepoint.com tomorrow, along with resources
mycritte… mycritter
well, what is the real world benefit of using a fw and which are really right for solid dev?
SEO2013 SEO2013
Thanks for the link. How long on average does it take to learn PHP?
LornaJan… LornaJane
@mycritter that’s a great starting question!
Jerry Jerry
@SEO what prog languages are you familiar with now?
SEO2013 SEO2013
None unfortunately which I’m sure isn’t the answer you wanted :/ I’d really like to learn though.
LornaJan… LornaJane
Frameworks give you structure, and they also give you a quick start on the things that are the same in every project, they usually have routing, logging, templating … that sort of thing. So they save some of the repetitive work for you
HAWK HAWK
I’d also like to plug Lorna’s latest contribution to the Learnable/SitePoint network, which is her course on Object-oriented PHP https://learnable.com/courses/object-oriented-php-2734
mycritte… mycritter
@seo2013 you just gotta get the book
LornaJan… LornaJane
Frameworks also give a common way to do things, so they make it easier to bring in a new developer to the team and that that person pick up the project much more quickly
HAWK HAWK
LornaJan… LornaJane
@mycritter I’d say that the benefit is mostly to developers and to speed and quality of development – much more than how much difference it makes to the end product. Frameworks are about getting things done.
mycritte… mycritter
@lornaJane, do you use an out of the box framework or a platform like a cms for your web dev?
HAWK HAWK
Welcome to anyone that has just joined us. We’re LornaJane is our expert today and we’re currently talking the benefits of using frameworks.
LornaJan… LornaJane
As for which frameworks are solid – they all have their strengths. For example ZF2 and Symfony2 are totally comprehensive, but they can be pretty heavy if you’re only building something simple. There are lightweight frameworks, where you will need to do some of the work yourself such as Silex or Slim. And then there are frameworks that are more aimed at friendliness than performance – that might be something like CakePHP
LornaJan… LornaJane
@mycritter I’m a consultant so I work with whatever my client has. My personal projects have been a mix, some ZF, some Slim, depending what I was building. Hope that helps give you some ideas!
TheCliff TheCliff
Quick question about frameworks?
LornaJan… LornaJane
@TheCliff go for it
TheCliff TheCliff
I am curious does heavy frameworks put more load on my server?
for rendering and things?
TheCliff TheCliff
speed of the code being rendered and so on.
MikeH MikeH
Lorna, do you have to spend a lot of time with each project learning its environment before being productive, or is there a small enough pool of common frameworks that you generally have it covered?
LornaJan… LornaJane
@TheCliff yes, it certainly can do. The frameworks can do lots of work in the background to make for easy, rapid development. For a very performant application, a full-stack framework probably isn’t the right tool. For 95% of sites, it’s absolutely fine
ridinQwe… ridinQwerty
Php & Mysql “Novice to Ninja” is a pretty good starting point @SEO2013
TheCliff TheCliff
Awesome answer thanks!
Paul.Ann… Paul.Annesley
@TheCliff: generally the extra load is negligible, and if you have enough traffic for it to be a problem, you can afford to scale the site across multiple servers. The benefit of writing less/easier code faster with a framework outweigh the execution (in)efficiency.
Jerry Jerry
Impressions of Twitter Bootstrap compared to other frameworks? That’s the only one I’ve used, mainly because it was the first I found and was pretty easy to pick up
LornaJan… LornaJane
@MikeH Many of the frameworks have good documentation and lots of shared ideas. For example many of them are MVC, they have routing, the templating tools are alike even if not exactly the same … and I’m very good at debugging after lots of practice! So I usually dive in and learn that way.
HAWK HAWK
I should introduce Paul.Annesley. Paul is a senior dev with the SitePoint group.
Paul.Ann… Paul.Annesley
An important aspect of using a framework is the security is can provide; default escaping of variables in HTML output, sanitizing user input, handling common gotchas, quoting/escaping database queries to mitigate SQL injection etc.
LornaJan… LornaJane
@theCliff: That’s a good point from @Paul.Annesley – mostly, the developer’s time will be MUCH more expensive than your hosting costs. So it’s a net win to use the framework and get your product shipped
Paul.Ann… Paul.Annesley
The flipside of that, is that you inherit any security vulnerabilities present in the framework you use, which happens in all frameworks from time to time.
LornaJan… LornaJane
@Jerry The twitter bootstrap is more of a frontend framework, this discussion is more about the server-side frameworks which are written in PHP. The learning curve is different for the various frameworks, but as I said, many of them have excellent docs
MikeH MikeH
Paul—as a senior dev do you become more specialized or broader in the languages you use server side?
BrandonK… BrandonKasteler
@Paul.Annesley On that note, for someone who is relatively new to PHP, would you say the benefits of having pre-built security outweigh those of potentially missing certain aspects in our own code?
Jerry Jerry
Do you know of any good comparisons of pros/cons for various frameworks?
mycritte… mycritter
@lornaJane, on basics, do you have good recommendations for securing our code for beginners. ways to stay ahead of hackers.
Paul.Ann… Paul.Annesley
@MikeH: Both :) I learned a lot about PHP language and tools. I did so by taking on side projects like creating the PHP client for beanstalkd:https://github.com/pda/pheanstalk … I also learn other languages when I have time, and mainly write Ruby these days.
LornaJan… LornaJane
@mycritter: The built in functionality of frameworks can really help with security, as they will include database escaping and filtering input values and things
Paul.Ann… Paul.Annesley
@BrandonKasteler: I certainly pick the benefits of a framework over trying to do it all myself… the latter results in attempting to build your own framework, and you end up with no time to build what you’re setting out to build.
LornaJan… LornaJane
@mycritter: my top tip though is to use the Filter extension in PHP for the incoming variables. Make that a requirement and it will reward you :)
TheCliff TheCliff
Would you recommend PHP coders to get into Frameworks — MVC style of programming? I have been coding in PHP for 5 years now. Part of the reason I haven’t gone into Frameworks is because over the past couple of years I’ve put together a great “functions” file that has tons of stuff for me to use during coding to speed things up. I would need to find out if a framework has what my functions do in order for me to consider using it. I am really not sure what a framework really does to speed up writing code. For the most part I just need basic Mysql_query’s, while loops, and basic math. Would a framework really help that much trying to speed up basic php commands?
LornaJan… LornaJane
@Jerry: framework comparisons are pretty difficult, they are all aimed at doing different jobs so it’s comparing apples to oranges in many cases. I don’t know of any good benchmarks
LornaJan… LornaJane
@TheCliff: I’d say that for a really basic site, it probably doesn’t matter. Once you start building things that are a bit more dynamic, they will really make your life easier – particularly once you get past the learning curve
HAWK HAWK
To anyone that has just joined, welcome. We’re currently talking frameworks, but if you have a question on any aspect of PHP (or OOP PHP) please throw it out there at any stage
Paul.Ann… Paul.Annesley
I have a general point I’d like to add: PHP started as pretty much a way of embedding bits of code into HTML; making it a templating language. And using it like that is not a bad way to start learning it. But to build a serious website, one needs to learn to separate the templates from the logic of the website. Frameworks make that much easier to do (they provide models, controllers etc, which are pure PHP and don’t contain HTML).
TheCliff TheCliff
Can you give me a quick example of one way that frameworks save time? Like a type of command or something that it would help with.
BrandonK… BrandonKasteler
@LornaJane Bookmarked the various frameworks you’ve mentioned to look at later. Thank you kindly for that information.
TheCliff TheCliff
or a site that would show me why using frameworks save time and how.
MikeH MikeH
Lorna—do you work mostly with larger custom apps, or still on (WordPress|Concrete|Magento|LemonStand|Joomla) based sites?
HAWK HAWK
LornaJan… LornaJane
@TheCliff the simplest example is things like building forms, you define a form and the framework does client side validation, server side validation, handles the failures, displays the form itself, and gives you back valid data when it’s done. Saves a lot of repeat code for every form on every project – and you never forget to validate one field
mycritte… mycritter
@lornaJane, most of my clients want a cms. there are great options out there. recommendations on going w them vs building proprietary?
LornaJan… LornaJane
@Cliff: also things like there are database libraries already setup, and logging libraries
@BrandonKasteler that’s my pleasure, good luck with those
TheCliff TheCliff
@lornaJane that could be very useful. I’m looking at that page now @hAWK
mycritte… mycritter
@mikeH, just saw your q. great minds think alike ;-)
LornaJan… LornaJane
@MikeH: I work almost entirely on custom apps, built with frameworks. I’ve got wordpress as my blog, but that’s all (and I didn’t build it myself!). I’m API specialist so I work more with integrating systems, and they are usually framework-built bespoke apps, just because that’s the best tool for these particular jobs
Oatley Oatley
Hi Lorna: When writing a class is it always important to follow a design pattern. A lot of my classes seem to follow no design pattern at all. Is this a bad thing?
LornaJan… LornaJane
@mycritter: going with an existing open source CMS and customising it means that you get all the work done in the existing one for free, your client only needs to pay for the extra bits that are specific to their system, and you only have to do interesting and unusual bits of development, rather than repeating yourself all the time
mycritte… mycritter
@oatley, ooh, now we’re getting into the fun stuff ;-)
LornaJan… LornaJane
stuff like Drupal has loads of extensions and will offer you security updates all the time – and your own code won’t do that with zero work from you :)
MikeH MikeH
Specialization begets productivity IMO. Having to swap often between frameworks, libraries or CMS brings a lot of overhead, and requires a lot more research time
LornaJan… LornaJane
@Oatley: not a bad thing at all. Too many design patterns is a bad thing. Not following patterns isn’t a problem. In fact, if you read a design patterns textbook, you’d probably find many more familiar patterns than you expect. The bottom line is that we’re developers and that means we solve problems. Whether those solutions have complicated-sounding names or not doesn’t matter IMO
ridinQwe… ridinQwerty
I’m still really new to PHP, and haven’t touched a framework yet, but wouldn’t it pretty much be like a comparison to jquery and javascript? The dirty work simplified down into managed solutions?
MikeH MikeH
@ridinQwerty broadly speaking — yes
LornaJan… LornaJane
@MikeH That’s not my experience, I find it helpful both in terms of getting things done and in terms of code quality to build on the existing libraries available in the open source world. Switching between them is hard work, but worth it, at least for me
TheCliff TheCliff
Thanks for that page @hAWK
LornaJan… LornaJane
@RidinQwerty that’s a nice analogy, yes :) Some frameworks are little more than a few libraries – and you might add a few more to make something you’re comfortable with. But they’re just there to wrap things up and make them quicker to use
Paul.Ann… Paul.Annesley
@ridinQwerty: main difference; jQuery is a library that you call from your code. A framework generally defines where you should put code so that the framework can call it when appropriate.
HAWK HAWK
@TheCliff np
MikeH MikeH
@LornaJane I agree on building on their foundations. I just find it hard to keep up with multiple systems.
ccovey ccovey
For those of us without code reviews, etc. any ways of knowing when our OOP code is no longer procedural code in class? I feel like mine is haha.
TheCliff TheCliff
@lornaJane so for beginners what framework would you recommend getting started with? I’ve had tons of people tell me that Yii is the best one as of late. What are your thoughts as far as learning curves, ease of use, etc. are concerned?
MikeH MikeH
@ccovey <?php class Ccovey { public function__construct() { $this->isProduceduralInAClass = false; } } ?>
LornaJan… LornaJane
@ccovey: Method length is usually a clue. If your methods are really long then you’re probably still working in quite a procedural style. Some methods will always end up long though – such as a controller action for a complicated page
Oatley Oatley
Apart from your own excellent sitepoint book (which I found out about at you at one of your excellent training courses i attended at Leeds NTI!) what other OOP books would you recommend?
MikeH MikeH
@ccovey …problem solved
Paul.Ann… Paul.Annesley
ccovey: one way is to try writing unit tests for your code… if you manage, it’s probably decent enough OO. If it’s really painful, maybe it needs refactoring to be more OO :)
LornaJan… LornaJane
@TheCliff: I haven’t used Yii but I’ve had people who do both front end and back end enjoy it. I usually recommend that people get comfortable with OOP, then try out something like CakePHP – it’s not too complicated a framework but is built by smart people and has a fabulous community behind it.
MikeH MikeH
@Paul.Annesley speaking of, what is the Unit Testing framework de jour?
ccovey ccovey
I have been trying to keep methods under 20ish lines if possible and have started testing on my recent side project
TheCliff TheCliff
awesome. I’ll look into that!
ccovey ccovey
MikeH if only I would’ve known that years ago :)
LornaJan… LornaJane
@Oatley: PHP Master is the only resource you’ll ever need!! Seriously though, there aren’t a lot of OOP books out there. Once you’re at the level where PHP Master is making sense, you’re better reading the blog articles so make sure you’re subscribed to phpdeveloper.org and the Sitepoint sites including phpmaster.com – that’s where much of the advanced content goes, and it’s properly up to date. Many of the books are pre-PHP 5.3 right now, although I’m seeing updates coming out
ridinQwe… ridinQwerty
@Paul.Annesley I probably have awhile before I will be able to ingest what you just said. I’m still goofing around with filling tables with data I create and ect… Not too far along at all in other words. I’ve just gotten comfortable with the front end of things, so it’s time to progress. I’ve got the first two books you guys offer on it though, and am enjoying them. The one on OOP with be the next.
LornaJan… LornaJane
@ccovey: that sounds to me like you are on the right tracks already, great work
HAWK HAWK
I assume you guys know about Lorna’s OOP course…https://learnable.com/courses/object-oriented-php-2734
ridinQwe… ridinQwerty
Sure do
Paul.Ann… Paul.Annesley
@MikeH: sorry for the delay… I believe PHPUnit is where it’s at. http://www.phpunit.de/
I’ve mostly used SimpleTest in the past, but I don’t recommend it, and don’t let the name fool you… it’s not simpler :)
MikeH MikeH
Good. I started to dabble with that one a few years ago.
LornaJan… LornaJane
And what @HAWK said – if you’re looking for an intro to OOP, I have the Learnable course up now, mix of me talking (and drawing pictures!) and showing code, which I hope will help. For those who learn better from reading, the PHP Master book has an OOP chapter but also chapters on Design Patterns and on Databases, using PDO which is also object oriented
Paul.Ann… Paul.Annesley
I definitely recommend learning to write unit tests if you want to do object oriented proramming.
mycritte… mycritter
@lornaJane, are we talking applying OOP to PHP, or implementing new powerful PHP versions?
Oatley Oatley
Hi Lorna. Thanks for all your help by the way. Another one for you When I’m writing classes I can never seem to extend them. In examples I constantly see things like cat extends animal, which makes sense. But in the real world I’m never going to be building a ‘cat’! Say I’m building something like a website, what would be a good example of using extends here?
ridinQwe… ridinQwerty
I had to switch my email address to join because it said someone was using it, on a unrelated but related note. ?
LornaJan… LornaJane
@mycritter I can take any questions you have
MikeH MikeH
@ridinQwerty same with me. Remembered my email from a chat months and months ago and wouldn’t let me in
Paul.Ann… Paul.Annesley
Same. Fake email addresses all round :)
ridinQwe… ridinQwerty
Lol
HAWK HAWK
@ridinQwerty and @MikeH Yeah, that is a very frustrating bug with this s/w – I don’t even know why it stores the emails, I can’t aces them. The good news is that we have our own interface well on the way to completion and with any luck I’ll be using that for the next session.
Paul.Ann… Paul.Annesley
Related fact: did you know example.com and example.org etc are reserved for testing, so you know nobody will get email sent to them?
LornaJan… LornaJane
@Oatley For example you might make a base model, and your other models extend from that – same for controllers. Quite often I do this the other way around. When you copy and paste something into another class, then instead you should create a common parent, rather than looking to create a child
mycritte… mycritter
guess we should all log out before closing the browser
Jerry Jerry
I had to try 3 fake email addresses before I found one it would accept. :)
MikeH MikeH
PHP Pros — do you do any front end dev work (excluding personal projects)? Or put another way do you get to focus on the server side?
HAWK HAWK
Yeah, sorry about that. Annoyingly, they don’t answer support tickets either so there isn’t much I can do except bin the product.
LornaJan… LornaJane
@Oatley also if you’re using a framework, have a look around in it’s source code – you’ll see some very good “real” examples there of when classes are extended – and sometimes you’ll want to extend their classes yourself to add things
Jerry Jerry
np @Hawk
LornaJan… LornaJane
@MikeH I do not do any frontend dev work. To put it politely, it’s not where my talents lie :) It isn’t a problem because I do APIs rather than websites a lot of the time
Oatley Oatley
Lorna, I’m a ZCE 5.3. Do you know of when/if the exam will involve the very latest version of ph
Paul.Ann… Paul.Annesley
@MikeH: I’m no pro in frontend stuff, but I like to do some occasionally to keep up to date. I think when you’re working server-side, it’s important to understand how the data you’re pushing to the frontend layer is going to be worked with and displayed.
mycritte… mycritter
@lornaJane, when you say “do APIs”, do you mean build or integrate them?
MikeH MikeH
Indeed.
LornaJan… LornaJane
@oatley: I can’t see the ZCE exams updating any time soon. It’s a huge investment for Zend to make that happen and I’m confident they aren’t working on that at the moment
MikeH MikeH
Github? Is it as ubiquitous as the all the kids say?
LornaJan… LornaJane
@mycritter: either/both. I build lots of APIs, but also go in and make systems talk to one another with whatever functionality they have available. I spend more with data and servers than with browsers, by a long way
LornaJan… LornaJane
@MikeH I think source control is ubiquitous. Many companies use alternative hosting as GitHub is expensive for private repositories, but the idea of having remotely hosted collaborative source control is standard, in my experience
HAWK HAWK
Welcome to those of you that have just come in. We’ve mostly talked frameworks so far and are now touching on source control.
Oatley Oatley
Thanks Lorna, with extends can you extend anything? For example I see this “has a” vs “is a” debate, so for example would it make sense for something like a class FormBuilder to extend the class validation? (keeping things separate?) thanks.
Paul.Ann… Paul.Annesley
Oatley: keep in mind inheritance isn’t the only way to bring functionality into a class. Check out http://en.wikipedia.org/wiki/Composition_over_inheritance… you can just write small methods on your class which call out to other classes dedicated to that particular job.
LornaJan… LornaJane
@Oatley the “is a” and “has a” debate is useful in terms of naming things and thinking about how they go together. If you try to extend one thing into another incorrectly, I usually find that you’ll realise that this makes no sense pretty quickly :) My advice is to try out your ideas on a small scale, and see if you think it works for your application
Paul.Ann… Paul.Annesley
contrived example which might help illustrate composition, as opposed to inheritance:
class Form {
  public function validate($field) {
    $validator = new Validator();
    return $validator->validate($field);
  }
}
so Form is “composed of” Validator… it uses it, but doesn’t have to deal with the complexity of inheriting from it.
Oatley Oatley
Thanks Paul & Lorna :-)
Paul.Ann… Paul.Annesley
it could also have a translate() method which calls out to a Translator class… much harder to extend/inherit from two different base classes :)
Oatley Oatley
One thing ive always wondered In a class before you write any methods at the very top you declare your properties (ie public, private, protected) a lot of the time when I have forgotten to do this my script class is fine so why do they need to be declared?
LornaJan… LornaJane
@Oatley they don’t need to be – if you just start using properties, they work fine. BUT by declaring them, you can document them, and also if you don’t want the properties to be public (which often they shouldn’t be) then you will need to declare them and their visibility
LornaJan… LornaJane
@Oatley it’s good practice to declare them, but PHP will roll with it if you don’t, it’s very tolerant
Paul.Ann… Paul.Annesley
@LornaJane: does failing to declare them raise warnings at certain error_reporting levels in modern PHP?
ccovey ccovey
Depends on usage
Paul.Ann… Paul.Annesley
PHP borrows heavily from Java for its class/object model, and Java being a statically compiled language depends on those properties being declared up front.
Oatley Oatley
@hawk. Will a article of all the questions and answers today asked be somewhere on would be very useful. Thanks
Paul.Ann… Paul.Annesley
I seem to remember having problem with __set() and __get() magic methods when not declaring properties. Details hazy.
ccovey ccovey
$this->foo += ‘bar'; will throw a warning if not declared. But that is a bit of a different issue
LornaJan… LornaJane
@Paul.Annesley no warnings from PHP, it’s a backward compatibility thing. PHP 4 had no visibility, so public was the default then, and that’s still the case now. You can just use properties and PHP will assume that you meant to do that
HAWK HAWK
@oatley Yup. I’ll post a transcript of the session on sitepoint.com tomorrow :)
Oatley Oatley
I’m trying and write a mini framework that creates drivers or for any PDO queries, or read any XML files passed into my system. Is this a good idea, or is it overkill?
Paul.Ann… Paul.Annesley
Maybe problems with serialize() or json_encode() if you don’t declare them? I’m clutching at straws :) But they should definitely be declared.
HAWK HAWK
@oatley And all transcripts of these sessions can be found here http://www.sitepoint.com/forums/showthread.php?873280-Transcripts-From-Past-Sessions
LornaJan… LornaJane
@Oatley it sounds like a good project to me. You might try to make them as standalone classes – then you can add them to any other project, even if you’re using a framework, by including your classes in the autoloader
Paul.Ann… Paul.Annesley
Here’s an interesting thing to consider: if you have a site that doesn’t need a database etc, but you want the benefits of using PHP to create it (e.g. shared header/footer/layout/components etc), consider a static site generator. Write your site in PHP, generate it to HTML files, and deploy them to a static website host or Amazon S3. Never get hacked ;) In Ruby-land, I’d recommend http://middlemanapp.com/ for that. Googling around for PHP examples, I see http://www.phrozn.info/en/ and http://sculpin.io/ and various others, but haven’t tried them.
@MikeH: going back a bit… I’m a massive fan of git and GitHub. git is not trivial to learn, but I consider it well worth it… definitely one of my most valued development tools. I `git init` and commit to any old directory I write code/docs in, even if it’s just a one-day-one-developer project.
And git doesn’t lock you into GitHub… there’s other hosts, or you can host your own, or if you’re a solo developer you can just not push your code to a remote server. Git can run entirely locally, doesn’t need a server.
HAWK HAWK
I’m going to jump in and say that we have 5 minutes left of the session (at which point you are welcome to chat amongst yourselves but I’ll cut Lorna free) so if anyone has a question that they haven’t asked, now would be the time
MikeH MikeH
@Paul.Annesley I’m pretty ignorant with VC, except that I do understand it’s benefits. Is Git (without the hub) still good for getting code onto different machines? Do you need to setup a host?
MikeH MikeH
Never mind, you answered that
Paul.Ann… Paul.Annesley
@MikeH: git works great over SSH, so you can push/pull easily between any hosts you can SSH between.
MikeH MikeH
It might not be something I should admit publicly, but I use Windows and would have to learn SSH too
Paul.Ann… Paul.Annesley
:) PuTTY is an excellent SSH client: http://www.chiark.greenend.org.uk/~sgtatham/putty/ … it’s been years since I’ve used it though, and I’ve never used git on windows.
LornaJan… LornaJane
@MikeH You are in good company there, plenty of windows users around
Paul.Ann… Paul.Annesley
There’s a Windows GitHub client though.
MikeH MikeH
Thanks.
What about code documenting? I used to use PhpDocumenter, but I couldn’t get the latest version to work
Paul.Ann… Paul.Annesley
If you have the time and interest, I’d recommend running a linux (Ubuntu?) virtual machine on your windows machine, so you can play with and learn tools like git/php/etc in the environment they were built for.
ccovey ccovey
I use gitbash on windows wish comes with ssh already installed for you so then you just need to generate keys ect.
Paul.Ann… Paul.Annesley
I’m usually running an Ubuntu Server virtual machine on my Mac, which I SSH into.
HAWK HAWK
And… that’s a wrap. Thanks very much to everyone that participated. I’ll post a transcript up on SitePoint tomorrow. Don’t forget to check out Lorna’s course https://learnable.com/courses/object-oriented-php-2734 and lastly… a huge thanks to Lorna for her time, and to Paul for stepping in at the last minute to help out. Much appreciated.
You’re all free to stick around here for as long as you like, but the session will no longer be moderated. :)
LornaJan… LornaJane
@MikeH definitely phpDocumentor, I’m sure their IRC channel or mailing list would help you with setup problems
Jerry Jerry
Thanks Lorna, Paul, Hawk
HAWK HAWK
If you’d like to sign up for email notifications of future sessions, you can do so here https://www.facebook.com/sitepoint/app_115462065200508
MikeH MikeH
I’m a generalist, so my to-learn list is as long as my arm. Might not extend to Linux.Thanks @LornaJane, @HAWK
HAWK HAWK
No worries @Jerry
LornaJan… LornaJane
Thanks for having me everyone, some good questions today
HAWK HAWK
See ya everyone
Paul.Ann… Paul.Annesley
Cool, thanks everybody for the questions and interest.
MikeH MikeH
Maybe my inability to spell ‘documentor’ was the problem? Thanks
Paul.Ann… Paul.Annesley
I’m http://twitter.com/pda on Twitter, although you’ll see more about Ruby etc than PHP there ;)
Jerry Jerry
GitBash on Windows is handy just for the Unix tools that come with it (grep, etc.)
MikeH MikeH
Paul, do you find Ruby (on Rails I presume) to be a lot faster for CRUD like apps than PHP?
Paul.Ann… Paul.Annesley
@MikeH: honestly, I don’t build many small apps in any language, so it’s hard to comment on that.
Paul.Ann… Paul.Annesley
I much prefer the Ruby language to the PHP language, despite it being slower
and Rails is an impressive framework, but it’s incredibly large and therefore complicated… takes a long time to really learn it.
My answer is: web development is hard. :)

Free book: Jump Start HTML5 Basics

Grab a free copy of one our latest ebooks! Packed with hints and tips on HTML5's most powerful new features.

No Reader comments