 Thanks So I've been a resident just I've been a resident for about 20 years in New Mexico, but mainly looking Santa Fe I'm an application developer for the New Mexico Department against fish We sell hunting and fishing licenses Do anybody who wants to? My agency has four public-facing websites or PHP driven To our work press our main public site wildlife These two are with press and then the other two The ones we do they have you lifting the e-commerce and sell licensees are to PHP sites that are So we're fully lamp stacked environment I work in a small team Fred followed our job processes And I mainly work on the The MVC side although I do help out with the work What are you talking about? Yeah, so when you're on the online sales, yeah Yeah, they're two separate sites. Oh, yeah Today's my talk is the PHP integrated development environment. I'm sure a lot of you are using one So I'm going to talk about the ones that run in your on your development platform As a client, I'm not going to talk about any cloud solutions today like cloud nine The three ones I'm going to talk about is then studio So I Need to We Shopping for an ID if you are shopping for an ID This place to start It's organized by language We're interested in that being a wiki site. It's not always up-to-date, but it is sort of a list the main one So then see what we've got here PC storm is there all these these are not correct But what it does is give you a good listening of the capabilities What they think Auto complete debugger refactoring support and inversion control This is another good This is a good article I Agree with everything this article says Even with its conclusions that probably the best one is the PC storm It's a debatable subject things are always changing in the integrated development environment world So those are the things I'm going to show today Core features so you may agree with me you may not I didn't include everything in the boat but obviously a source source code editor and And I kind of lump a lot of things in that when I go through the demo. You'll see what I mean By a source code editor. It's more than just getting to your PHP and editing or tax it also Includes a project view or and several other views are trying to not say windows, but their Perspectives basically when you open your ID you have project view you have your editor You have some tools like search and errors and stuff like that Code completion That's a broad subject a Refactoring support and what I mean by that is when you do refactor Which you know a simple explanation of refactoring is just making your code better organizing it That when you do like change a class name or a file name You have some automated support so that you're not breaking things so that you can run a little function to check They are not breaking things Debugging most of you guys know what a debugger is Programmer tend to hate the debugger a lot of programmers are still doing You know inserting dye statements and try and catch statements, and that's how they deduct their code Version control or source control is a big use. That's a big benefit for using an ID a lot a lot of programmers are still at command line entering You know pulls and commits At command line instead of using the features that are in an ID which make it GUI friendly You'll notice that can a lacking is build automation. I think if I was talking about Java talking about build automation because PHP is an interpreted language. We don't have to worry about creating binary files from our ID Browser view and in bet I'm not talking about an object browser view I'm just talking about an internet browser within the ID dreamweaver has one works pretty well in dreamweaver But I don't think it's necessary for an ID. So I'm not gonna really go over it database integration I think most people are using like HB admin or workbench or something else another program in order to get to their Relational tables Built-in FTP SDP support dreamweaver has this I don't think it's necessary. We live on a version control world now. So That really handles the need to have a FTP play in your In your ID I'm gonna open Zen Studio first. Okay, so this is what I mean by More than just a code editor. Here's your code editor. This is what you know, you bring up your files you get to your PhD and make changes and Immediately makes it probably in the hosting environment your local hosting environment, but also you have Strong project views Sorry for the display. These are all separate websites separate applications Some of them are dependent on one another some of them are But that's kind of a feature in a modern IDE opposed to a text editor And then you have These resources down here So you can have these different views while you're doing things and then you have a top menu with even more tools While you're developing Yes So I'm gonna just open up dream weaver for the heck of it just Yeah Because I'm not gonna be a bummer if I can't have a little bar over here So there's stream waiver There's your code Believe it or not You can edit php and remover you have the same syntax highlighting So this is what I mean by browser view, which is not always great I Don't like it when the browser is embedded in the IDE because you should be able to just locally post Anything and go straight to your browser to see what you're working on. This is This right here is Dreamweaver's FTP flight, so I'm looking at the server right now It's kind of a nice feature so you can just push things up to the server and Dreamweaver does have some Some capabilities when it comes to Version control so let me go back to So syntax highlighting is a common feature so I mean a lot of you are familiar with this stuff But I'm just gonna go over it anyway so you know basically a modern ID has built an interpreter that is actually looking at your code and kind of Tagging, you know what it sees a class it puts it in blue That sort of thing functions in red. So this is this this is what they call Dracula I guess in php as far as a design view as far as the set of colors Let's say code collapsing all familiar with that the ability in really big PHP documents to collapse the code Since studio has this feature this link feature right here So if you jump around From page-to-page doesn't matter whether it's in one project or other it'll actually Where it is And so, you know with the top menu features You have the ability to Form a search This search allows you to search the whole workspace. So if you're looking for something You know a lot of times searches will kind of save you when you don't know what you're doing and you just have a snippet And you need to get to whatever you're looking for So basically right now I'm sort of looking through all of my projects That's pretty fast and consider it. I am just looking for php or phtml files And so the results page right here You know basically will will let you see We'll let you see every instance of you know my key string was error handler And so it'll basically allow me to see a small snippet of it so I can look for What I'm you know trying to find what I'm looking for when I find it I can just open up the file right from there That's a nice aspect of the search feature Code completion Um So code completion So I'm just going to go ahead start writing something I'm going to do a function. You see how it you know pops out and basically writes the code for you When I get here, I'm going to do a little bracket And you'll notice that already, you know when you're going along if if if I'm not doing things right It'll start erroring on me Basically, I forgot the function name right so So and so your key functions to php functions um Start running they You know it gives you some some hinting as to what What your variables are in the function And then I'll let you complete I can believe that So that's that's just Code completion. That's kind of what you are and in any Um So let me go over to php storm Okay This is a This is a work press site right here. This is just kind of a task work place. I There is okay, so I got this plugin, which is just an example plugin do something plug in or do something plug in Then I'm going to show you so in both Zen studio and php storm you can add depending on what your What your framework is Zen framework in this case um You can include those those php libraries. So And just like work press work press work press libraries can be included with php storm So I've got this Let's say I've got this sort of incomplete plugin here and I'm just gonna This is just adding a settings menu Simple settings menu. So as soon as I start typing You know, it's it's going to help me complete what I'm doing Many pages Okay, so That's what I mean by by extending Including a framework library within an ide If you just sort of out of the box Start your ide probably will come with The work press library decor library. So so so when you start typing a hook an action filter or filter hook It won't know what you're doing because it doesn't have that library load In this case, it's really Really pretty strong this too As soon as I start typing I just put a close-up and it says page title. It's going to tell me exactly what to do So do something Does that just set the base of your project with the work press install That has all the work press functions? Actually, it's it's it's under uh, it's under preferences in uh, So you just you go to preferences And I forgot where exactly it is here. I'm not a I'm not a big php store down the way It's all that you go to preferences and plugins And then you just um, it doesn't strangely enough Um, and this is just the 30 day trial here So you can get the 30 day trial at php store about committing to whatever it is the 160 bucks it cost I think it's somewhere around there So When you get it out of the box, it doesn't actually have the work press library in there So you have to kind of go and just include it takes two seconds to do though Um Then my next Menu title sorry about the other display So you can see how it it's going to build your array for you Um capability and give you little hints as you go along Um Excuse the spelling So as soon as I start typing this it should say Should Knows here or not This should be There we go So it'll actually help you build everything And then of course, it's the little syntax chair Checking there there and then down here it'll actually help you to build your heart too. So that's just uh, I think this is uh, so that's just writing it all for me The should come up There it was knows exactly which function I need If I don't have any errors Should uh There it is. There's my view phone. There's my it doesn't really do anything That's just an example of uh How useful auto completion can be and how it can be specific to whatever framework you're looking at What uh, what kind of time do I have right now? Time Four minutes left. Okay So well the other two things I was going to go over were refactoring And uh, the tools of refactoring I'm not going to go over that. I'm not going to have time because I want to get to To uh version control. Um, so a good and then the other part is debugging which, um You know, um Let's see. Let me see if I can just get the debugger started. I'm going to go over basically so You have 10 minutes between sessions. So you have to go over your tool. Okay. Um So if I go back to this and go to Okay, so, um There's there's a there's a break point there. I'm going to set another break point here Just show you how the debugger works um for me I don't know how many of you guys use the debugger to go through time Um, there we go Okay, I'm going to create a new draw application This is our site Right here Before I do this I've got a little tool To set this So when I go the debugger will be started And now I'm in the debugger perspective um so say Customer and so this is you know, this is just the basics of debugging your variable. You have something that Is is out of control in your program. You don't know where it's working Um, here's the data array for the customer so you can see your customer variables as you go along I don't have it set up to do anything specific. So but usually in a loop in places like that So to send studio is this like running Apache modules that support debugging? It is actually running zen debugger, which is is a patchy module Yeah, so you can you know, I've heard that you can set it up with uh z bug or the the other one x bug But zen debugger is the one that works with event studio So yeah, you have to have that installed as an Apache module in order for it to work It's usually it usually is enabled. I believe when you install Apache Um, it's sometimes it's sometimes hard to get the especially if you have a large code base to get the debugger to work Um, because there's a lot of dependencies on libraries. Um, but this one is working. Okay. Um, okay, so now I'm going to jump right to um Um, I'm going to jump right into um Um, version control So version control also known as known as revision control or source control is the management of changes to documents computer programs large websites and other collection of information It allows you to store metadata It allows you to collaborate with other people other programmers Um, there's a checkout check-in process That basically means you're not going to step over code that someone else is working on That's kind of version control in a nutshell but um IDEs are are pretty much Have those functionality where you can bring the functionality in Some popular version control programs or subversion Get get is a big version control right now CVS, I guess is one material And then the windows people use something something entirely different Or what they use Yeah, that's uh team. What is it team some team foundations or right? Um, so I don't know just out of curiosity. How many of you guys do do version control at command line? Okay, so you're kind of familiar with this sort of thing. I'm just going to go ahead and Bye Okay Just going to make a change Okay, so I changed that file Then I'm going to um Get that get add right. That's what you guys do That was clean Um, and I'm going to commit Needs more comments this is not a good comment No So then when I so that's I just committed it right so if I go back to my If I go to my zen program here, let's see I've already got that signaled in my uh zen studio as a commit that needs to be put up Okay, um the process so you can do all that process here under team I'm just going to push this upstream Okay, almost done I don't still want any of the background Okay, so there it is Push it up to my carcass tag Um, but the same the process is the same basically, you know, if I had something commit I'd go to team um commit And then I there's nothing to commit But then you put your comment and push it out The other thing that's nice about an IDE So this is uh Let's see so basically, um All your commits and changes anybody else who's worked on the project, um, basically they all appear here and you can actually go and uh Compare with previous say Previous versions so you can actually look at what changed You can revert to a previous version That sort of thing So there are all kinds of tools in in zen studio for managing git and just doing everything in zen studio When it comes to version control I don't know. Let's go to there Okay, any questions? Is that your speaker? Sorry, my morning leader Any questions? Have you used cloud 9 or do you know about first kind of post disk IDEs? I haven't used cloud 9 You know, or do you use it? Um, I used it for an online course and I thought it was neat, but that's about it Okay