New Wave PHP

Video in TIB AV-Portal: New Wave PHP

Formal Metadata

New Wave PHP
Alternative Title
Php And Friends - New wave php
Title of Series
CC Attribution 2.0 Belgium:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Release Date
Production Year

Content Metadata

Subject Area
Divisor Token ring Multiplication sign Connectivity (graph theory) Feedback Shared memory Bit Right angle Line (geometry) Twitter
Ocean current Point (geometry) Greatest element Scheduling (computing) Open source Multiplication sign Direction (geometry) Source code Machine vision Number Power (physics) Formal language Revision control Frequency Goodness of fit Mathematics Bit rate Information security Computing platform Stability theory Scripting language Scaling (geometry) Feedback Projective plane Physical law Electronic mailing list Bit Line (geometry) Peer-to-peer Process (computing) Video game
Logical constant Numbering scheme Solid geometry Open set Neuroinformatik Computer configuration Different (Kate Ryan album) Object model Error message Social class God Physical system Namespace Gradient Bit Category of being Arithmetic mean Process (computing) Hash function Pattern language Quicksort Figurate number Reading (process) Spacetime Web page Point (geometry) Slide rule Flash memory Streaming media Event horizon Code Declarative programming Element (mathematics) Number Energy level Selectivity (electronic) Contrast (vision) Traffic reporting Computing platform Form (programming) Default (computer science) Wave function Physical law Cartesian coordinate system RAID System call Compiler Word Personal digital assistant Network topology Statement (computer science) Video game Iteration Table (information) Library (computing) Code Multiplication sign 1 (number) Set (mathematics) Function (mathematics) Parameter (computer programming) Mereology Formal language Semiconductor memory Formal verification Flag Software framework Scripting language Area Algorithm Logarithm Electric generator File format Data storage device Variable (mathematics) Website Right angle Row (database) Trail Functional (mathematics) Service (economics) Login Theory Revision control Programmschleife Time zone Noise (electronics) Multiplication Inheritance (object-oriented programming) Poisson-Klammer Cellular automaton Projective plane Database Calculus Human migration Subject indexing Password Calculation Gravitation Object (grammar)
Greatest element Multiplication sign Decision theory Source code Set (mathematics) Insertion loss Parameter (computer programming) Client (computing) Mereology Formal language Bit rate Special functions Cuboid Endliche Modelltheorie Extension (kinesiology) Information security Area Scripting language Email Namespace Gradient Physicalism Variable (mathematics) Order (biology) Website Self-organization Right angle Point (geometry) Slide rule Functional (mathematics) Vapor barrier Real number Mass Event horizon Scattering Field (computer science) Number Frequency Latent heat Goodness of fit Internetworking String (computer science) Operator (mathematics) Reduction of order Installation art Default (computer science) Physical law Projective plane Library catalog Line (geometry) Cartesian coordinate system System call Equivalence relation Subject indexing Cache (computing) Personal digital assistant Video game Speech synthesis Iteration Tuple Library (computing)
Suite (music) Code Multiplication sign Source code Execution unit 1 (number) Set (mathematics) Client (computing) Mereology Perspective (visual) Information technology consulting Formal language Web 2.0 Lattice (group) Semiconductor memory Different (Kate Ryan album) Analogy Videoconferencing Software framework Arrow of time Series (mathematics) Endliche Modelltheorie Extension (kinesiology) Error message Scripting language Digitizing Electronic mailing list Sound effect Bit Lattice (order) Benchmark Data management Arithmetic mean Exterior algebra Internet service provider Configuration space Right angle Reading (process) Laptop Point (geometry) Web page Domain name Functional (mathematics) Server (computing) Service (economics) Computer file Similarity (geometry) Web browser Login Graph coloring Code Event horizon Machine vision Computer icon 2 (number) Number Twitter Revision control Frequency Goodness of fit Crash (computing) Causality Root Computer hardware Reduction of order Energy level Software testing Computing platform Form (programming) Pairwise comparison Default (computer science) Addition Dependent and independent variables Standard deviation Graph (mathematics) Projective plane Content (media) Plastikkarte Directory service Cartesian coordinate system Limit (category theory) System call Equivalence relation Human migration Particle system Uniform resource locator Inversion (music) Software Object (grammar) Videoconferencing
and how to say hello while these people the rummaging around the commits get my sound working camera can hinder the speaker the room cannot so they're working on that I'm hiding good morning welcome to fitted every of the phones they can remember organizing some good about they were introduced myself in a minute and was found the ends of the right and it's fine so you out if we get more people coming in please move in because I don't expect everybody who wants to see a 9 AM talk will be here and I am so it gets a bit busier 1 token please make room make room as people show up as a million of the n recent defines our little time with really really good line I will be here all day because I chose the speaking a there'll also and so I hope you join us and talk to us and our have factors not experience it we think we're hashtag please we pretty fast and so that even if I not already following on Twitter every component share the excitement with the day when Twitter account as well so gone announcements or would tell you how excited we are using we use joined in feedback it's an
open source project which allows I don't wanna be completely in the dark despite all the other things and that source project which allows people who say talks to tell speakers what is working and that essentially what is not working so please please do take the time to visit joined in and give some feedback I will now attempt to fix
well adjusted to well I think OK portion OK cool good morning I'm not in watch off because it attached a Bluetooth device which are now have no access to a set of find the the fossil Devon today is known as she's going talk about new ways to explore the hi on and it's all about me with pitch and I wanna start by talking about how PHP looks what the story is with the recent versions and where we are with this maybe all of you use PHP all time so there's a bit by Quentin the was released and another 6 the with a surprising number people still running on a on a 5 point 2 platform if you like a technology power 2006 then you can carry on good thing that happened since and if you look at these really states yeah you can see that the release frequency PHP has it increased enormously in the last few years this is the day with the changes that being made in the language and its release process itself it also means that the pain involved in going from 1 version to the next vision is much released in introduced because there's not quite so much time to put in big changes this is at the bottom of this list currently current stable or 5 . 5 and 5 . 6 7 will beyond 2015 this is a big release would not releasing 6 the best scripting languages never release of version 6 so if you adjoining on that on that bandwagon so our time scales of something like this if I went to work with these things get much closer together and we now have 7 schedules am I being relatively safe the this is a problem obvious is the more problem for but them it is you who want particular problem that I would like to talk about today is the the problem and that is the adoption rates this is what current usage of peer-to-peer looks like the the current stable versions of pitch of these 2 lines here because of that 1 is a purple 1 here these are the current version the pitch p the men dead end of life versions as percentage is a relatively new fitted of weeks itself good news less than 50 % of our installed base uses PHP 5 . 3 which is and the law Adams only a further 22 % users 5 point which is a variant of life but maybe 1 5 . 4 and this is the orange 1 was kind of going the right direction but when was gone about 7 months laughter on its support these security fixes only at this point will be no more releases and less refineries as security but so yeah we have an adoption cool that happened In these new versions that may be you didn't realize you should upgrade may be denoted out there so I wanted to just kind of
data everybody on what has been cool and useful in PHP but also what might be hard for you to upgrade I can stand here and say hey I really should be using the latest and greatest I know that you've got application that perhaps you've inherited it's been around a while he uses some ivory it works and you may not necessarily want to upset its so I want to just flag some of the things that might happen when you upgrade your existing applications OK so the thinking about is registered levels of God bad news your PHP 5 . your PHP theory can probably won't work on PHP 5 . 4 and later it is still out doing pretty well if you do have current which is using register globals and you need to adapt said and then you need to look for all totally undeclared variables in your global namespace and figure out where they came from whether it's get or post and then import landfill to then correctly to initialize your variables so the occurred will still work we had some new stuff introduced in by 4 as well so the we have an echo the short echo syntax became standard all versions of PHP have short open time and so you could use just pointed bracket question mark this kind of and friendly to other languages looks a bit like XML computers passes and so we have removed back you can no longer provide all 10 on the short open tag syntax it it it is not enable if you have short tax you need to do is a global fund replace Amendment all tags replacing I appointed by question mark we point about a question up here to pay also in a short open tag in old versions of PHP it was possible you got this extra syntax which is equivalent to just having a variable this is always valid don't need to tell a short syntax this is always going to donate to enable a short OpenTox To get the pitch all it does is to replace the question please any question of equals with an PHP tag and the word echo FIL normally just see this and a variable name on it of the PHP tag echo the variable names cool and then you you will close pitch I commonly used in what else is new the from 5 . 4 and all versions after it the EU all reporting 5 actually includes all errors assign as sabbatical as crazy this really pushing the about out it'll actually now does mean everything what I mean is it also includes these direct so you when you upgrade a tree PHP 5 . 4 project newer platform it will normally get much noisier annual logs and if now intention of investing any more time of fixes in this project maybe no one's gonna pay you to do that then feel free to turn off the strict have a read of the logs 1st because there's a very good warnings in there but feel free that you might want to disable restrictive you wonder why you have upgraded and now your logs of full which would be turned on a whole extra reporting level as an and so sometimes you can look like you've got a lot of problems and you have and this is the recall of output so I accepted strict warnings a useful or don't that's fine you can turn off so that you can still see the actual errors in your log not has lots of noise another area that we often don't where it is about time zones so this is frustrating because of grain 5 with Reagan you warning about time than the range but with all the dutiful warning about times so if you have fixture times and conflict settings of greater probably going to have to do that again and then this is purely because times the use all of offset make no sense I time occurs in a place you are setting up an event that's in the Brussels for many the offset in Brussels today is different from what the times offset that Brussels will be in May so to PHP requires you to say where you want in a continent place format times the sticky in PHP die and I everything will be fine but it doesn't stick at does out quite a chunky error on every script so that can be off-putting when you upgrade as well where a you'll also see this error nearly every kind I upgrade and I was completed this project rescue migration on speaker ice if base is in need of of upgrades and I often see this Wankel call time passed by reference and also done this 1 actually isn't a problem the error relates to but you should declare function either to take a reference go take a value because the function will either update the thing all return a new value that is the option the function should know which of those things can happen because of the unexpectedly getting a reference all thinking you're getting a reference and not returning the value makes no that's right the In the doesn't appear to be it was valid to just passed by reference when the like In recent but earlier than 5 . 4 I think a page pain you could you put C declare reference of numbers son of a variable you could declare that even at call time as well as long as the function had it so as long as the function is declared the ampersand it would always be passed by reference this error occurs on grade because it is no longer valid to also have the ampersand in the coal so you cannot have an ampersand when you call function even though you automatically by reference and the functions declared the correctly you'll find the need gravity ampersand al-Qaida I hate this 1 they just is where is the wave function looks like this you a function is declared takes a reference when you call it you cannot pass the undersigned in the cold you cannot have a say I think it's more readable but it's no longer valid syntax and it causes this passed by reference error but I am running to lots lots of pictures here so if you have any questions feel free to just interact this is what with 5 came with trades for many years PHP has been I was a famous and mining infamous for not really having an object model and we had these toys functions in a raid arrays glued together once way back in the past newer versions of PHP him pretty solid object model actually we have a lot of features that coming in from other serious 0 languages 1 of the things that came in a 5 . 5 whose trade it was much-hyped at the time but now it's you know 5 provides enough quite well we start to see things really kind of fade in and be useful to you lay waste wealthy this when you're working with modern libraries and it's a really good reason to upgrade it something motivated me a couple of projects to get use of trade so trade is cut at a fragment of the clock In a way the idea is to give us reusable elements of that can be included in our various classes it avoids why call the false parent pattern where perhaps everything in your system needs to have the ability to log itself or some kind of audit trail or some other piece of functionality that you want present in all of your classes so you make a parent class the have vast and then you create your actual entity classes which inherit from this pair they're not related at all but you want the shepherds now work even 1 place trade around that so you can declare a trait which has some properties of the methods maybe it's built on another trait whatever and then you can apply it to your classes which are the class needed so you can selectively applied that piece of fragment of class to any of your classes that needed so it's sort of surpasses the inheritance and plays a more to the composition side of putting applications together a very trivial example for you I In this is a madly edited with bad white space in an effort to get
on the slide that trade from the monolog project so monolog is a super duper amazing just put it in logging library that we use in in most modern PHP frameworks so you can just use monolog law that's a bring into the namespace and then here's the trite any of your classes which uses this trade then get this log function so you can just be like you love this you love this you don't have to read a clever that you don't need to follow the false parent patterns to give a log functionality to all of your object classes so this is a this is a really nice new feature that's common and just user use the trait inside your class and not to compiler assisted copy paste takes the trade and put it here and then you classes exactly as if you had of the pace of it that's a really really nice new feature also in 5 provides a feature you never knew you needed the daytime immutable class was introduced now PHP has had a date time class since 5 . 2 and it was finished in useful in 5 . 3 having that's better as it was always a good idea as a but call I have all the functionality needed from 5 . 3 daytime as being the way to do database to be identical they functions in because daytime supports the same form argument use the date manual page a lot to look at basic JS s what we're doing but I don't use data function got daytime however but but brings daytime immutable which means that when you're trying to date calculations when you do a daytime it changes the object that you operating on so you can't do you know you would you do your ordering it now and your packages both 30 days when will expire if you try and do a calculation it updates the original object To date time mutable instead will return values yeah as an example so we instantiate the daytime objects defaults to now and if you inspect it you can see it and if you then add 4 days to it and inspected again then you can see that the value itself is updated daytime usable in contrast doesn't die shows the same they both times instead you need to capture the return value of this it does it's immutable so it the same functions each is available but it returns the value you're looking for so I find the code that I've struggled with the past now makes complete sense we need to know that we want is actually daytime immutable especially for the time calculations we have a really good support very easy to be like plus 3 months 90 days from now legislation from then all works nicely the daytime immutable means you don't lose the value that you started with in your code quite as much but let hashing has anyone ever builds a page website which allowed users to log in that's all the conscious people in the room just raise their hand I don't really know how we got to 55 with life without this feature however even if you're not on 5 . 5 as a back port so we don't care what version of PHP you're wrong I should do something you need 5 . 3 . tend to get working the crypt but anyway and then I have all there's a 50 or on you should be doing password hashing like this so this is even call from 5 . 5 prior to 5 . 5 there's an include for you to use it to get project is written in user land so my index . php on all project starts with hash flash Simon you grade 55 provide so then you going to be but provides new codes as called declare function and you go earlier and I have included then the password user is registering is applied as a new password we hash the password using the canadian named password hash function if the password if the algorithm that you want to use they can be specific about this algorithm but here you can see that I just passed a constant password default this is PHP is promised to you if you use password default PHP will always hash the password using the current recommended skiing so when PHP gets better recommended password schemes this password follow constant update for you there other values available we want this what if you act that you get something that looks like this talk to you may need to make your database password storage columns a little bit wider the 95 is only you know and this is common how long this 1 is have a longer history out of so I think you get something that looks like this and this stores a bunch of different things inside this output these which algorithm was used which cell was used and it is itself a hash the giant that is you can't just a rainbow table lookup because you've got to take his apart figure out why women we should be using what so you should be using them and do it separately for every possible password in the database so the return on investment for trying to brute-force password databases is now to me the way however we now still include this in the database and we gotta get password back so user comes back tries to log in this will change upon a little bit because when you are using a really simple hash you can just say select start from users where username equals this and password equals hashed password and then if you get but they were fine In case you need to fetch the users record and then pass your stored value and value just submitted for the form into the password verify function which takes what I just gave you and what you had stored on we'll come back and say yes or no so it's very straightforward password hash created password verified passion and what I just said was the password and seem committed to get together all that going is the work-around Freeview not 5 provide yet you can still go home improve your password storage today tomorrow mating when and if it's it's on the Maxell is on Ferreira he is a really awesome contributor and the guy he built this recall and then backported it so that we could use in our older projects so just go get his library included solving next appear to be when you about 55 provided just drop occurs in that same but that is exactly available in coal half half and when the questions yeah all the what is that if all hash nowadays I believe is password would be correct press any questions this is good this is part as an amazing of people here knew we will look cellular service unsatisfiable away alright generators this can invite . 5 now generates is exist in other languages are Python has a for example which is where I have seen it before it came into being I a generator is come here it's not so that the iterates at bit more usable by these my brain can handle them much more easily than iterators and all it does it is it's a function with when multiple return opportunities so you see that have this yields keyword in my code where you might think the written statement like that and the way this works is you call a function is the function runs you hit the yield statement it returns the value you call function again initially picks up where looks not left off right is a bit more return the next value you commonly seen loops inside generators it is good for things like stream handling we don't read the whole thing the memory and then process that we don't want generates of numbers and then gender worked for that dataset the the generator allows you to work out calculus next value all bringing in the next word forms the streams and then passing off to something which will process and then ask for the next piece and I have a really trivial example but I think it's worth seeing so that you will recognize it so I have a function it has yield statement in it the
problem with trying to cut on slides as its so trivially would never do it this way but never mind there also yields that you get the idea 2 years you assign what looks like a function call to a variable and you just think of maybe returns the right and then he was right over the right but he bottom this you see that a generator and it doesn't return a whole array of stuff it just kind of I have a handle on the generator and each time that we for each it and the iterator advances we make another call back that generator and get the next that return values very very nice way particularly of processing large datasets without just how moral memoranda box at the same time and the feature came in retains and they play quite nicely together you can kind of in the values for 1 and then generate the the next value of OK what else do you need to have my deprecated so again this is more for projects where you've got a project it works perfectly well everything's cool this be entrusting had rightly quite often has more than 1 way to achieve something 1st point of the matter is right will offer a lesser libraries result did gold and so we have my SQL a muscular line reminds you and they all Wikipedia as well the bottom line is known cares model Maestro library no supporting it it's more single and features that are actually quite cold so it is that we just admit signal of maintaining and would that would deprecated the my skill extension so you go through your mice skill connect from tuples should now be muscular like function calls it a client will pay to update is this an application or if it's something you use for your own business IT organization relies on it you probably want to switch over the period and did not try it might not even it's not quite API-compatible but look for the mice QI equivalence in order to update your application which we haven't stopped using my styrofoam pitch I promise for but the straight my got extension has gone away and have burned a few people on upgrade the with built in not cash if you use peer-to-peer reduction you will not well laid that when you will know that you install PHP then you install ABC which saw opcode cash we had some issues with a PC and now From this P 5 . 5 we have an alt courage built in so it comes as part of it you will no longer instillate PC is available from tackle and but I would say from 5 . 4 you want the all-cash extension not be a PC physical extension from 5 . 5 all cash is bundled that's the good news the but users is turned off by default the so when you upgrade is going find the settings and yes I would like to at Boston yes please the hit 10 this solemn and then you got cash out of the box the Euphrates if I provides than exist yet about why is enabled by default good question I've been asking them for a while the way was explained to me was we ABC and PHP have always been out of step in their releases release PHP and pieces was like the little that i'm because that it separately maintained 5 . 4 had a huge number of performance improvements and and performance you and later on in this slide deck and we struggled with a few edge cases and so it was like a case so everyone should use all caches event source back cash as an extension so that became available then we decided to package provided ship it but it wasn't widely used an extension before that so it wasn't super hard and coated and we decided it would not be cool to turn on the massive number pitch p installations this is not modified by providing I kind of fill the destroyers would turn on by the fall in there I recommended PHP I reach about that have happened as far as I know have so yeah this isn't this is not I don't know the decisions I just give advice my buys you probably want to turn this on yeah what is it like that appear to be of people I for a fixed to supercool being the but with if we reverse a PHP they release often security fixes this smaller grades things happen and extended by don't even use i . 6 have got this feature and I'm really looking forward to barrier functions so what upon a time a long time ago OK please before I would like we use is something called and catalogs where you could have a variable number of arguments to a function being the need to declare them you just pass the lights and the function and don't get out to give you an array of what was passed in look of clunky way of doing Our method overloaded 1 . 6 has that is for example in in this function got concatenate the 1st argument is transform and everything else just goes into rate strings sudoku you can declare a few arguments and they can be like that everything else put in an array that lets you take any trailing variable number of arguments in into your PHP functions and here I've done this iterate over them it's on the arraignment a string and then put the transform operation on them to call it you just passes many arguments as you want that's quite cold functions it's got a sister and this is the 1st time in a long time up to could described PHP as the wild With prolamin packing so we now have this as black hole scatter operator which is 3 dots some of you may be familiar with the male function you have a male function you pass in this to areas in the mail to the subject of the male the body of the male and you possibly various arguments in the in the internet you can't that's a 0 that's the 1 the instead having to spell out each extracting value from you're right you just said don't adopt the stuff that the e-mail there has to be enumerated array with the right numbered indexes things need to be in order in the array you can build up the of the current arguments for an array that various enjoy apart into a method and just pass the loss and scatter operator will unpack it for you and pass this is an existing call functions this is a special function is a function that takes arguments but fuckin 6 is the let you just by further reactor and like to deal with itself this is nice this is a really nice shock I like this and I'm looking for reasons to upgrade of order 5 with it so I can get use of this this is a really really nice an example you don't have to have everything in the array so you can still pass a couple of specific arguments here passed the 2 and then unpack the rest so it might be do this do this and the rest of the fields are in this disarray very very nice speech and only namespace functions function dependent never second-class citizen which is ironic for such a it's such a seriously script can be language where we have namespaces and has never been wonderful we don't really never really been able to name the user namespace functions but then you need to refresh them by the full some made to get them From but when fit it's been possible to use the years but we need use function to be specific use the to namespace function and then just call it by its short name so if you have a names based function they are humming to express addressed by as long name all the time we've now got back shorthand available the and some of lovely lots of nice shiny things some excited persons told about very early in the morning but how does this apply to your the real life something about your work in the real world however later makes 50 websites western that we rescuer people's PHP website we advertise passionate about the gone snowboarding and not come back will help you you should see what comes into the law and so what what do we do in the real world how can you start to use of these features have new avoid having the step you have you made that is also keep up with the new features the 1st thing to do when you're thinking about upgrading we're hoping some will pay you to upgrade is to think about performance
comparison is got a somewhat ruined by me having put 5 . 2 as well as with a sizable number people story about point is I think it's worth pointing out the whole 5 series would need a much bigger graph and to display the performance on it said this graph is all the time it takes on average to run the benchtop PHP script from inside the PHP source code and only a very average laptop that period its laptop and so it's not an absolute benchmark shows you relative to the various visions what kind of improvement we can get some 5 . 2 and running it just under 4 seconds you probably can't see these labels by will my like the but with really about 2 and a half about form let's run the 2 something around the 2 of them on the performance improvement is significant what is harder to say on a graph is memories anecdotally the application of course 20 to 30 % memory usage reduction how much you like maybe hardware this is significant difference 1 of the all proprietary tools claims that how you should right we've got this and this and this you bite the hands off this piece spread some reason that makes it harder to get for some implemented a racial this is the performance speed the big wins are between 5 . 3 and 5 . 4 particularly in the learning of objects so if you are using for example full-stack framework your incrementally more than that but you will see a significant speedup because it was all focused around object creation I know the world now completely itself right so here's how you
actually would do this as opposed to just getting the rhetoric so he deprecated the deprecated is an error reporting level that was introduced in 5 . 3 bad news and you are still quite point 2 you have a mountain to climb 5 . 3 should that have been a major version released and wasn't but don't ask me why no more why questions I make decisions by . 2 2 5 . 3 is a big step and I'm sorry we know it's a problem we know the great part is a problem 5 . 3 has all of those problems solved and was released in 2009 please come to the future we have good things tell deprecated level this will cause things beautiful colors entries in your logs for everything you are using in your application which is not available in the next version nothing are made up 85 . 4 that wasn't baked in the deprecated when 5 . 3 . 0 was released we're not just removing features for fun without thinking it's in the deprecated a whole minor version before war it's actually gone telling deprecated this will tell you how big your problems are and there is a PHP code sniffer standard PHP compatibility which will tell you which part of your code are not compatible with which future versions of PHP you can filter which ones you want to see it when it's amazing and he went compile your new PHP units greater hope all just compile and even a pitch p when your test suites when a limit check you know how does this look this location codes syntactic complete is a what different question that be we can't to tell you that with automated tools right but you can link checks you can know it's gonna blow up try many application with PHP is built in web server it and ship till 5 with full behavioral grading beyond that now then but grotesque platform of Scotland ball and then just go for it in my experience is it's unusual to have a PHP 5 . 2 0 5 . 3 applications even Cardinale although organically built 1 which would run of 5 5 0 5 6 sometimes you need to update a few things we did deprecate some extensions that the functions bonds that happens but I haven't seen any which have been impossible to upgrade if you call me for migration consultancy my response will be go home run on 55 provide and if you really do have problems then you can pay me to the because it's not worth it and extended ethical be upgrade path is not bad at all especially from but within later I would something thing about the bill in web server on which it really bad you in PHP on the command line the dashed capital acts 7 main code long port 9 like all of the other built-in application service scripting languages have you can now request is your browser you can't director be web root analogs appear on your command line so you can see errors and stuff like that I was effect when we introduce this at his departure the year entirely happy with everything's also my redoubtable too much so about related and it can be used as a lot of user testing is fabulous when you quit local projects and the content of good things about it it's fabulous with testing if you upgraded code is going to work and health warning the PHP built web server is for testing and this is only the reason it is for testing purposes only is it's single-threaded the so to your request will run and complete you'll think about that in Mexico you probably don't want to use it for anything other than things running on your local has also PHP crashes now you observe crashes out so yeah just because without it takes a bunch of switches so you can make it available on and if you combine into another domain names that other people in your network if they put in the host file we choose very useful for saying the arrows on to a new managers testing something and I'm sure this some more professional ways of saying what is useful that's why you the ball the dashed sets the web roots of your running this from for example supervisor D as opposed to just being in the right directory where the web root should be dashed sees that the configuration I recommend that you use the web server we the configuration switch on without PHP ones with no pitch p Deaw I and at all she get a language defaults in there a little bit with recommend that you you've not seen somebody at the door I am I am rather than just letting fall back to whatever bill into the code I also is reducing the PHP file is where you do the equivalent of your Apache rewrites that kind of stuff you can pull it I'm here is like a prepend the do your reading and pretty URL all you all rights and knew what it should be 5 by the later part with foreign basically and the life please do not share it on 2 5 to full 5 3 5 2 can you still by far to hosting a bet you can have not try to but this is really important that the people here in my opinion the people who do understand the plenty of PHP users who have no clue what the provision is and I kind of liked that kind of want them to still be able to buy hosting and 1 page because like that's what page B has always been about the weekend warrior just doing something they believe in I always will to be available by the people who do understand need to demand decent hosting all hosts all lag inversion availability because we know that there 5 . 3 is to fall on an alarming number of PHP hosting particles and it is an acceptable we let be so this is is yes more hives what is a phd are available if they come out have the 5 . 5 is default then don't go with them is not as no alternatives right are packets included I didn't care about include or not additions on question and be able to answer it which extensions are available and can and others there's a horrible trend for PHP hosting which doesn't let you install extensions that's a fail there's lots of really good tools performance tolls and all the improvements I use a bunch of different extensions that the different things and better performance In icon is still the model has the the and kind support by PHP set up it's nice if they say yes I wouldn't say in in a meeting with where I'm a supply voltage was applied to my client on the meet the hosts when the missing may there with a supplier and apply that similar PHP perspective and the hosting companies that yes certainly I we can we can actually help me without having to tune your application and apple 4 that's funny designed to interview your avails guys but anyway is going that they can claim that they can help you that they have some experience in PHP thing might be interested in discussing your application as opposed to here is a Linux platform quite frankly we're not interested so it it's kind of there is no right answer here you should ask it and judge them on what you get back it is a very unofficial list of people I would trust with new PhD projects with reasonably priced and bps all had decent level hosting server grow they'll add problem and so the growth is a big country simply he knows PHP so how is that while means that I thought would what right now same current event the S by 5 by default digitalization very friendly they just put a bunch of if the community people so that are useful to know and I had sigh ground and Rackspace also recommended to me the providers are out there please stop buying terrible hosting decline come to me saying I can 300 my center and helped him that he had gone with his credit card and bore new not especially cheap PHP hosting and got 5 . 3 . 9 by default I was going to him like that how come so I went over and I have no idea doing time don't 2 questions yeah and it's a couple questions if anyone has any also the really easy understand it is on fire others but so did you wanna more about this I recorded a video for a Riley intermediate PHP the whole letting calls they wouldn't let me call it things lawn of things you need to know about PHP and basically what should be in the lattice the livestock as composer stuff as an object-oriented prime as a bit of SPL and that is the web server and the other great stuff that you've seen here so if you are not using the real time or if your page people a bit left behind that might be useful to you and FIL which can touch my twitter account of my website and blog a lot you really common question under wasn't thank you very much and you'll get a