SymfonyCon Madrid 2014

Buenas prácticas para desarrollar aplicaciones PHP para sistemas Platform-as-a-Service

David Zuelke  · 

Presentación

Vídeo

Transcripción

Extracto de la transcripción automática del vídeo realizada por YouTube.

I keep changing the title around so I think it is best practices for modern apps on platforms as a service in the schedule but this is essentially it it's a bit dark but you should still be able to see everything you don't see the nice purple background

of a slide here my name is David I am German I work for a SAN francisco-based company called Heroku we're also sponsoring so the booth is out there this is my email address if you have questions or if you would like to complain or praise this talk privately

if you would like to do so publicly for the next 40 ish minutes you can bash me and I have no ability to respond so the twelve factor app who's heard of that hands up please nobody one to not like this like this please far up yes okay there's a few

people good for the people for the uninitiated the twelve factor app it's essentially a it is a manifesto it is a methodology for developing applications not very difficult actually very simple to follow rules and it's a condensed collection of experiences

essentially these experiences come from many years of deploying applications running applications and a lot of cloud platforms a service such as a Roku or a Cloud Foundry or if you want to run your own little cloud of things using Doku when your own infrastructure

follow the 12 factor principles and the assumptions that underlie them Heroku actually started out as a PHP company it used to be I'm an agency and then Ruby on Rails suddenly became very fashionable so they switched from PHP to Rails and very quickly

found themselves with a challenge namely how do they deploy an app turns out PHP hosting is abundant and cheap right everywhere for 0 to 5 dollars you can get web hosting that works kind of well there's FTP space 5 megabytes but for the other - web press

install maybe that's enough so Ruby back in the day 2000 five six seven whatever that was that was not the case you would have to do all these things yourself every single time over and over knows web space to just drop your stuff in so they over time

realized okay to quickly deploy apps we need to follow these in these rules and eventually that turn into its own company which now serves hundreds of millions actually billions of requests per day the goals of these principles are you want apps that are scalable

you want apps that are that's important maintainable and also portable portable across the same flat within the same platform but also across platforms if you desire you can read up on 12 factors on that that's the my lasers work oh yeah it's working

ish but very well there we go 12 factor done that has all the rules but it has so it has four very pretty important I think factors rules that you should code against accordingly have one code base to do your deploys from don't have to code bases or something

like this for your development or your staging environments that should be obvious right but I've seen even like not this year but last year and the year before people messing around with Samba shares and not the floppy disks but similar right like copy

stuff around on production service explicitly declare your dependencies which is composer in our case read your configuration from the environments don't hard-code everything into conflict files I know that in Symphony lands this is actually something

very common and a mistake I make as well so don't feel bad and logging should be a trivial matter of logging to standard error and then having external processes aggregate them for you dependencies obviously if we want to declare dependencies you know

for nodejs that looks like this where you say this is the Express and full ASCII faces converse pictures is not so important but it's a package right but you can also say this is the system version of node that I and we can do the same impede in PHP when

the composer have Jason we can actually say this is the PHP versions I have tested develop whatever I get it right so 5 3 3 or higher is a p2p version I require you can even say this is an extension I need encrypt in this case and certainly use the Latin packages

so they Claire those dependencies the more of those dependencies you declare the easier it is for the platform you deploy to to figure out oh the m crypt extension isn't enabled by default but I'll enable it now because it's required by the project

[ ... ]

Nota: se han omitido las otras 2.220 palabras de la transcripción completa para cumplir con las normas de «uso razonable» de YouTube.