Creación de un api centri

18
OBTENER HOSTING DE $ 3.95 / MO PLUS UN AÑO GRATIS EN TUTS + (PVP 180 dólares). OFERTA LIMITADA PRISA. Categorías Guías de Aprendizaje Ayuda Código ¡Nuevo! Planificación para empezar a trabajar en una nueva aplicación web? En este tutorial, vamos a discutir cómo crear una aplicación webAPI céntrica, y explicar por qué es esencial en el mundo multiplataforma de hoy. Introducción API? Para aquellos que no están familiarizados con el término, la API es la abreviatura de Interfaz de programación de aplicaciones . Según Wikipedia : Una interfaz de programación de aplicaciones (API) es una especificación basada código fuente destinado a ser utilizado como una interfaz por componentes de software para comunicarse entre sí. Una API puede incluir especificaciones para rutinas, estructuras de datos, clases de objetos y variables. API de visualización Imagen cortesía de http://blog.zoho.com En términos más simples, una API se refiere a un conjunto de funciones integradas en una aplicación, que puede ser utilizado por otras aplicaciones (o por sí mismo, como veremos más adelante), para interactuar con la aplicación. Una API es una gran manera de exponer la funcionalidad de una aplicación a aplicaciones externas con seguridad y de forma segura, ya que todas las funciones que estas aplicaciones externas pueden hacer es limitada con qué funcionalidad se expone en el API. PHP Creación de una aplicación Web APICentric por Nikko Bautista 30 de diciembre 2011 159 Comentarios 35 15 38

description

Se detalla la creacion de un APi- Centric

Transcript of Creación de un api centri

  • 20/5/2015 CreacindeunaaplicacinWebAPICentricTuts+CdigoTutorial

    http://code.tutsplus.com/tutorials/creatinganapicentricwebapplicationnet23417 1/18

    OBTENERHOSTINGDE$3.95/MOPLUSUNAOGRATISENTUTS+(PVP180dlares).OFERTALIMITADAPRISA.

    Categoras GuasdeAprendizaje Ayuda

    Cdigo

    Nuevo!

    Planificacinparaempezaratrabajarenunanuevaaplicacinweb?Enestetutorial,vamosadiscutircmocrearunaaplicacinwebAPIcntrica,yexplicarporquesesencialenelmundomultiplataformadehoy.

    Introduccin

    API?Paraaquellosquenoestnfamiliarizadosconeltrmino,laAPIeslaabreviaturadeInterfazdeprogramacindeaplicaciones.SegnWikipedia:

    Unainterfazdeprogramacindeaplicaciones(API)esunaespecificacinbasadacdigofuentedestinadoaserutilizadocomounainterfazporcomponentesdesoftwareparacomunicarseentres.UnaAPIpuedeincluirespecificacionespararutinas,estructurasdedatos,clasesdeobjetosyvariables.

    APIdevisualizacin

    Imagencortesadehttp://blog.zoho.com

    Entrminosmssimples,unaAPIserefiereaunconjuntodefuncionesintegradasenunaaplicacin,quepuedeserutilizadoporotrasaplicaciones(oporsmismo,comoveremosmsadelante),parainteractuarconlaaplicacin.UnaAPIesunagranmaneradeexponerlafuncionalidaddeunaaplicacinaaplicacionesexternasconseguridadydeformasegura,yaquetodaslasfuncionesqueestasaplicacionesexternaspuedenhacereslimitadaconqufuncionalidadseexponeenelAPI.

    PHP

    CreacindeunaaplicacinWebAPICentricporNikkoBautista 30dediciembre2011 159Comentarios

    35 15 38

  • 20/5/2015 CreacindeunaaplicacinWebAPICentricTuts+CdigoTutorial

    http://code.tutsplus.com/tutorials/creatinganapicentricwebapplicationnet23417 2/18

    QuesunaaplicacinWeb"APICentric"?

    UnaaplicacinWebAPICentricesunaaplicacinwebquebsicamenteejecutalamayora,sinoesas,todasufuncionalidadatravsdellamadasalaAPI.

    UnaaplicacinWebAPICentricesunaaplicacinwebquebsicamenteejecutalamayora,sinoesas,todasufuncionalidadatravsdellamadasalaAPI.Porejemplo,siustedfueraaentraraunusuario,leenvasuscredencialesalaAPI,ylaAPIlevolveravosotrosresultadodiciendoquesielusuarioproporcionalacombinacindeusuariocontraseacorrecta.

    OtracaractersticadeunaaplicacinWebAPICentricesquelaAPIsersiempresinestado,loquesignificaquenopuedereconocerlasllamadasdelaAPIporsesin.DesdellamadasalaAPIseharnporlogeneralatravsdelcdigodefondo,queserdifcildeimplementarelmanejodesesiones,yaquenormalmentenohaygalletasinvolucradoseneso.Estalimitacinesrealmentebuenoesta"fuerza"aundesarrolladorparaconstruirunaAPIquenofuncionabasadoenelestadodelusuarioactual,sinomsbienenlafuncionalidad,queasuvez,hacequeseamsfcildeprobar,yaqueelestadoactualdeunusuarionoesnecesariovolveracrear.

    Porqupasarportodoesteproblema?Comodesarrolladoresweb,quehemosvistoevolucionarlatecnologadeprimeramano.Esdeconocimientocomnquelagentehoyendanosloseusanaplicacionesatravsdeunnavegador,sinoatravsdeotrosdispositivos,comolostelfonosmvilesytabletas.Porejemplo,esteartculoenMashable,titulado"LosconsumidoresahorapasarmstiempoenaplicacionesmvilesquelaWeb",afirma:

    Losconsumidoresestngastandomstiempoenaplicacionesmvilesqueenlawebporprimeravez,unnuevoinformeafirma.

    FlurrycomparsusdatosmvilesalasestadsticasdecomScoreyAlexa,yencontrqueenjunio,losconsumidoresgastaron81minutospordautilizandoaplicacionesmviles,encomparacincon74minutosdenavegacinenlaweb.

    HeaquunrecienteartculomsdeReadWriteWeb,titulado"MsgenteExaminarOnMobilequeelusodeIE6yIE7Combinada:

    LosltimosdatossobrelastendenciasdelnavegadordeSitepointmuestranquemspersonasnaveganporlaWebenlostelfonosinteligentesqueutilizanInternetExplorer6y7combinadas.Esosdoscacharrosviejoshansidolosespantajosdelosdesarrolladoreswebduranteaos,loquerequieresitiosdedegradartanbiencomoseaposibleparaqueeldenominadormenoscomndelosnavegadores.Peroesunmundonuevoahora6.95%delaactividadwebennoviembrede2011estabaenlosnavegadoresmviles,yslo6,49%estabaenIE6o7.

    Comopodemosverclaramente,msymspersonasobtienensusnoticiasdeespaciosalternativos,dispositivosespecficamentemviles.

    Qutieneestoqueverconmigolacreacindeuna

  • 20/5/2015 CreacindeunaaplicacinWebAPICentricTuts+CdigoTutorial

    http://code.tutsplus.com/tutorials/creatinganapicentricwebapplicationnet23417 3/18

    aplicacinWebAPICentric?

    Estoconducirainevitablementeaunmayorusodenuestraaplicacin,yaquesepuedeutilizarencualquierlugarqueunapersonaquiere.

    UnadelasprincipalesventajasdecrearunaaplicacinAPIcntricaesqueayudaaconstruirlafuncionalidadquepuedeserutilizadoporcualquierdispositivo,yaseaunnavegador,untelfonomvil,unatableta,oinclusounaaplicacindeescritorio.TodoloquenecesitashacerescrearlaAPIdetalmaneraquetodosestosdispositivossepuedencomunicarconella,yvoil!Ustedhaconstruidounaaplicacincentralizadaquepuedetomarlaentradayejecutarlafuncionalidaddecualquierdispositivoqueunapersonatiene!

    APICentricDiagramadeaplicacin

    Mediantelacreacindeunaaplicacindeestamanera,somoscapacesdetomarventajadelosdiferentesmediosutilizadospordiferentespersonas.Estoconducirainevitablementeaunmayorusodeunaaplicacin,yaquesepuedeutilizarencualquierlugarqueunapersonaquiere.

    Pararemacharelclavo,aquestunartculoacercadelanuevapginawebrediseadadeTwitter,quenoshabladelaformaenqueahorautilizansuAPIparaalimentarTwitter.com,esencialmente,porloqueesAPIcntrico:

    UnodelosmsimportantescambiosenlaarquitecturaesqueTwitter.comesahoraunclientedenuestrapropiaAPI.Seobtienedatosdelosmismoscriteriosdevaloracinqueelsitiomvil,nuestrasaplicacionesparaiPhone,iPad,Android,ycadausodeaplicacionesdeterceros.EstecambionospermitiasignarmsrecursosalequipodeAPI,generandomsde40parches.Enlacargadelapginainicialycadallamadadesdeelcliente,todoslosdatossonahoraobtienendeunacachfragmentoJSONaltamenteoptimizado.

    Enestetutorial,vamosaestarcreandounaaplicacindelalistaTODOsimplequeesAPICentricycrearunclientefrontendenelnavegadorqueinteractaconnuestraaplicacinlistaTODO.Alfinal,ustedsabrlaspartesintegrantesdeunaaplicacinAPICentric,yalmismotiempo,laformadefacilitarlacomunicacinseguraentrelosdos.Conestoenmente,vamosaempezar!

    Paso1:Planifiquefuncionesdelaaplicacin

  • 20/5/2015 CreacindeunaaplicacinWebAPICentricTuts+CdigoTutorial

    http://code.tutsplus.com/tutorials/creatinganapicentricwebapplicationnet23417 4/18

    LaaplicacinTODOestaremosconstruyendoenestetutorialtendrlasfuncionesbsicasCRUD:

    CrearTODOArtculosLeerTODOArtculosActualizacinArtculosTODO(renombrar,marcarcomohecho,marcarcomodeshecho)EliminarTODOArtculos

    CadatemTODOtendr:

    unTtulounaFechadevencimientounadescripcinunabanderaparadecirsielTODOartculoIsDoneVamosmaquetadelaaplicacin,asquetenemosunaguasobrelaformaquedebesersimilardespus:

    SimpleTODOMaqueta

    Paso2:CrearelservidorAPI

    YaqueestamosdesarrollandounaaplicacinAPICentric,estaremoscreandodos"proyectos":elservidorAPI,yelclientefrontend.VamosacomenzarconlacreacindelservidorAPIprimera.

    Enlacarpetadesuservidorweb,creeunacarpetaconelnombresimpletodo_api ,ycrearun index.php archivo.Esta index.php archivoactuarcomouncontroladorfrontalparalaAPI,asquetodaslaspeticionesalservidordelaAPIserrealizadaatravsdeestearchivo.breloyponerelsiguientecdigodentrode:

    010203040506

  • 20/5/2015 CreacindeunaaplicacinWebAPICentricTuts+CdigoTutorial

    http://code.tutsplus.com/tutorials/creatinganapicentricwebapplicationnet23417 5/18

    Loqueesencialmentehemosconstruidoaquesuncontroladorfrontalsimplequehacelosiguiente:

    AceptarunallamadaalaAPIconcualquiernmerodeparmetrosExtraigael Controlador y Accin paralallamadaalaAPIHagaloscontrolesnecesariosparagarantizarqueel controlador y AccinexistenEjecutelallamadaalaAPIErroresdecaptura,ensucasoEnviarnuevounresultadoalapersonaquellama

    Ademsdela index.php archivo,creartrescarpetas:aloscontroladores,losmodelosylosdatosdelacarpeta.

    ElcontroladorescarpetacontendrtodosloscontroladoresquevaautilizarparaelservidorAPI.EstaremosconstruirloutilizandolaarquitecturaMVCpara

    0708091011121314151617181920212223242526272829303132333435363738394041424344454647484950

    include_once'modelos/TodoItem.php';//Envolvertodoenunbloquetrycatchparacapturarcualquierexcepcindescarriados!tratar{//ObtenertodoslosparmetrosenelPOST/GETsolicitud$Params=$_REQUEST;//Obtenerelcontroladoryformatearcorrectamenteporloqueelprimero//CartaessiemprecapitalizadoControlador$=ucfirst(strtolower($params['controlador']));//Obtenerlaaccinyformatearlocorrectamenteparatodoslos//cartasnosecapitalizan,yanexar'Accin'$Action=strtolower($params['action']).'Accin';//Comprobarsiexisteelcontrolador.sino,unaexcepcinsi(file_exists("controladores/{}$controlador.php")){include_once"controladores/{}$controlador.php";}otro{arrojarnuevaExcepcin('Controllernoesvlido.');}//Crearunanuevainstanciadelcontrolador,ypase//QuelosparmetrosdelapeticinControlador$=nuevocontroladorde$($params);//Comprobarsiexistelaaccinenelcontrolador.sino,unaexcepcin.si(method_exists(controlador$,$action)===false){arrojarnuevaExcepcin("Accinnoesvlido.');}//Ejecutarlaaccin$Resultado["datos"]=$controlador>$action();$Resultado['xito']=true;}catch(Exception$e){//Atraparexcepcionesyreportarelproblema$Resultado=array();$Resultado['xito']=false;$Resultado['errormsg']=$e>getMessage();}//EchoelresultadodelallamadaalaAPIecojson_encode($resultado);exit();

  • 20/5/2015 CreacindeunaaplicacinWebAPICentricTuts+CdigoTutorial

    http://code.tutsplus.com/tutorials/creatinganapicentricwebapplicationnet23417 6/18

    hacerlaestructuradelfiltrodeservidordelaAPIymsorganizado.LamodeloscarpetacontendrtodoslosmodelosdedatosparaelservidorAPI.LadatosdecarpetaserdondeelservidorAPIguardalosdatos

    Iralacarpetadeloscontroladoresycrearunarchivollamado Todo.php .EstesernuestrocontroladorparacualquiertareadelalistaTODOrelacionados.ConlasfuncionesquevamosanecesitarparanuestraaplicacinTODOencuenta,creelosmtodosnecesariosparaelcontroladordeTodo:

    Ahora,agreguelafuncionalidadnecesariaparacada accin .Voyaofrecerelcdigodela createAction mtodoylodejoaustedparacrearelcdigoparalosotrosmtodos.Siustednoestdehumor,sinembargo,ustedpuededescargarelcdigofuentedelademoycopiardesdeall.

    Crear TodoItem.php dentrodel modelos decarpetasparaquepodamoscrearelcdigo"decreacindeobjetos".Tomenotadequenosevaaconectaraunabasededatos,msbien,voyaserelahorrodelainformacinenlosarchivos.Deberaserrelativamentefcil,sinembargoparaqueestofuncioneconcualquierbasededatos.

    010203040506070809101112131415161718192021222324252627282930

  • 20/5/2015 CreacindeunaaplicacinWebAPICentricTuts+CdigoTutorial

    http://code.tutsplus.com/tutorials/creatinganapicentricwebapplicationnet23417 7/18

    El createAction mtodollamadosfuncionesenla TodoItem modelo:

    save()estoahorrael TodoItem enunarchivo,ascomoestablecereltodo_id parael TodoItem siesnecesariotoArray()estodevuelveunaversinmatrizdel TodoItem ,dondelasvariablessonndicesdelamatriz

    DadoquelaAPIsellamaatravsdepeticionesHTTP,vamosaprobarquelallamadaalaAPIllamandoatravsdelnavegador:

    http://localhost/simpletodo_api/?controller=todo&action=create&title=test%20title&description=test%20description&due_date=12/08/2011&username=nikko&userpass=test1234

    Sitodofuncion,deberaverunanuevacarpetadentrodela datosde carpeta,ydentrodeesacarpeta,deberaverunarchivoconelsiguientecontenido:

    0708091011121314151617181920212223242526272829303132333435363738394041424344454647484950

    pblica$Descripcin;pblica$due_date;pblica$is_done;pblicafuncinsave($usuario,$userpass){//Obtenerelnombredeusuario/contraseadehash$Userhash=sha1("{$username}_{}$userpass");si(is_dir(DATA_PATH."/{$userhash}")===false){mkdir(DATA_PATH."/{$userhash}");}//Silos$todo_idnoestanestablecido,significaquetenemosquecrearunnuevoelementoTODOsi(is_null($this>todo_id)||is_numeric($this>todo_id)){//ElidTODOeslahoraactual$This>todo_id=time();}//ObtenerlaversindeseriedeesteartculoTODO$Todo_item_array=$this>toArray();//Guardarlaversinserieserializadoenunarchivo$xito=file_put_contents(.DATA_PATH"/{$userhash}/{$this>todo_id}.txt"//Sielahorronotuvoxito,unaexcepcinsi($xito===false){arrojarnuevaExcepcin("ErroralguardarTODOtema');}//Devuelvelaversindeseriedevolver$todo_item_array;}pblicafuncintoArray(){//DevuelveunaversinmatrizdelelementoTODOvolvermatriz('Todo_id'=>$this>todo_id,'Ttulo'=>$this>ttulo,'Description'=>$this>descripcin,'Due_date'=>$this>due_date,'Is_done'=>$this>is_done);}}

  • 20/5/2015 CreacindeunaaplicacinWebAPICentricTuts+CdigoTutorial

    http://code.tutsplus.com/tutorials/creatinganapicentricwebapplicationnet23417 8/18

    createAction() resultado

    Enhorabuena!UstedhacreadoconxitounservidorAPIehizounallamadaalaAPI!

    Paso3:AsegureelservidorAPIconun IDAPP yAPPSECRETO

    Actualmente,elservidorAPIestconfiguradoparaaceptarTODASlassolicitudesdelAPI.Tendremosquelimitarloaslonuestraspropiasaplicaciones,paragarantizarqueslonuestrospropiosclientesfrontendsoncapacesdehacerlassolicitudesdelAPI.Alternativamente,ustedpuedecrearunsistemaenelquelosusuariospuedencrearsuspropiasaplicacionesquetienenaccesoasuservidorAPI,similaralaformaenFacebookyaplicacionesdeTwitterfuncionan.

    ComienceporlacreacindeunconjuntodeparesidclaveparalosclientesquevayanautilizarelservidorAPI.Dadoqueestaesslounademo,podemosusarcualquier,32seriedecaracteresaleatorios.Parala APPID ,digamosqueeslaaplicacinAPP001.

    Abraelindex.phparchivodenuevo,yluegoactualizarloconelsiguientecdigo:

    Loquehemoshechoaquesrealmenteponerenprcticaunaformamuysencilladeautenticarclientesfrontendutilizandounsistemasimilaralaautenticacindeclavepblicaprivada.Bsicamente,aquesteldesglosepasoapasodecmosucedelaautenticacin:

    0102030405060708091011121314151617181920212223242526272829303132333435363738

  • 20/5/2015 CreacindeunaaplicacinWebAPICentricTuts+CdigoTutorial

    http://code.tutsplus.com/tutorials/creatinganapicentricwebapplicationnet23417 9/18

    Cifradodeclavepblica

    unallamadaalaAPIsehace,enellaun$app_idy$enc_requestseproporciona.el$enc_requestvaloreslosparmetrosdellamadaAPI,ciframediante APPCLAVE .La APPCLAVE seNUNCAenvaalservidor,sloseusaparadiscutirlasolicitud.Adems,lasolicitudslopuedeserdescifradousandola CLAVEAPP .unavezquelallamadaalaAPIllegaalservidorAPI,comprobarsupropialistadeaplicacionesparael IDdeaplicacin previstoscuandoseencuentran,elintentodelservidorAPIparadescifrarlasolicitudutilizandolaclavequecoincideconel IDAPP enviadosituvoxitoendescifrarlo,yluegocontinuarconelprograma

    AhoraqueelservidordelaAPIseaseguraconun IDAPP y APPSECRETO ,podemosempezaraprogramarunclientefrontendparautilizarelservidorAPI.

    Anuncio

    Paso4:CrearelclienteBrowserFrontend

    Comenzaremoscreandounanuevacarpetaparaelclientefrontend.Crearunacarpetallamada simpletodo_client_browser enlacarpetadesuservidorweb.Cuandosehaceeso,crearunaindex.phparchivoyponerestecdigoenelinterior:

    0102030405060708

    SimpleTODO

  • 20/5/2015 CreacindeunaaplicacinWebAPICentricTuts+CdigoTutorial

    http://code.tutsplus.com/tutorials/creatinganapicentricwebapplicationnet23417 10/18

    Esodeberaseralgocomoesto:

    SimpleTODOpginadeentrada

    Tomenotadequeheincluido2archivosJavaScriptyCSS2archivosaqu:

    reset.csseslasecuenciadecomandosderestablecimientoCSSestndar.Yousoelrestablecimientocssmeyerweb.com.bootstrap.min.csseselTwitterBootstrapjquery.min.jseslaltimalibrerajQueryjqueryui8.1.16.custom.min.jseslaltimalibrerajQueryUI

    Acontinuacin,vamosacrearel login.php archivodemodoquealmacenamoselnombredeusuarioycontraseadentrodeunasesinenelcliente.

    09101112131415161718192021222324252627282930313233343536373839404142434445464748

  • 20/5/2015 CreacindeunaaplicacinWebAPICentricTuts+CdigoTutorial

    http://code.tutsplus.com/tutorials/creatinganapicentricwebapplicationnet23417 11/18

    Aqu,simplementeempezamosunasesinparaelusuario,basadoenlacombinacindenombredeusuarioylacontraseaqueelusuariovaadar.Estoactacomounallavedecombinacinsencilla,loquepermitiralusuarioaccederaelementosTODOalmacenadosparaunacombinacinespecficadetantoelnombredeusuarioycontrasea.Acontinuacin,redirigimosa todo.php ,dondeempezamoslainteraccinconelservidordelaAPI.Antesdeempezaracodificareltodo.php archivoembargo,primerovamosacrearunApiCallerclase,queencapsulartodoslosmtodosdelaAPIllamandoquenecesitaremos,incluyendolaencriptacindelassolicitudes.

    Crear apicaller.php yponerlosiguienteenelinterior:

    Usaremosla ApiCaller claseparaenviarpeticionesanuestroservidorAPI.Deestamanera,todoelcifradonecesarioycURLcdigodeinicializacinserenunsololugar,ynotendrquerepetirnuestrocdigo.

    11 header("Location:todo.php');exit();

    01020304050607080910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758

  • 20/5/2015 CreacindeunaaplicacinWebAPICentricTuts+CdigoTutorial

    http://code.tutsplus.com/tutorials/creatinganapicentricwebapplicationnet23417 12/18

    el __construct funcintomatresparmetros:1. $App_idel IDAPP paraelcliente(queesAPP001paraelclientedel

    navegador)2. $App_keyla CLAVEAPP paraelcliente(quees

    28e336ac6c9423d946ba02d19c6a2632paraelclientedelnavegador)3. $Api_urlladireccinURLdelservidordelaAPI,quees http://

    localhost/simpletodo_api/

    el ()sendRequest funcin:1. encriptalosparmetrosdelapeticinutilizandoel mcrypt bibliotecade

    lamismaformaqueelservidorAPIdescifra2. generael _POST$ parmetrosaserenviadosalservidorAPI3. ejecutalallamadaalaAPIatravsdeCURL4. compruebaelresultadodelallamadaalaAPIseharealizado

    correctamenteono5. devuelvelosdatoscuandotodosalisegnloplaneado

    Ahora,vamosaempezarconel todo.php pgina.Enprimerlugar,vamosacrearalgodecdigopararecuperarlalistadetareaspendientesactualdeartculosparaelusuario Nikko conlacontrasea test1234 (estaeslacombinacinusuario/contraseaqueusamosantesparaprobarelservidorAPI).

    Irala index.php pgina,registradocomoNikko/test1234,yusteddeberaverunvar_dump() deltemTODOhemoscreadoantes.

    Felicidades,hanhechoconxitounallamadaalaAPIalservidordeAPI!Enestecdigo,tenemos:

    iniciadolasesinporloquetenemosaccesoal nombredeusuario yuserpass en $_SESSIONinstanciadounnuevo ApiCaller clase,dndoleel IDAPP , APPCLAVE yladireccinURLdelservidordelaAPIenviarunasolicitudatravsdela sendRequest() mtodo

    Ahora,vamosaformatearlainformacinparaqueseveamejor.AgregueelsiguientecdigoHTMLenla todo.php cdigo.Noseolvidedequitarel var_dump() !

    010203040506070809101112131415

  • 20/5/2015 CreacindeunaaplicacinWebAPICentricTuts+CdigoTutorial

    http://code.tutsplus.com/tutorials/creatinganapicentricwebapplicationnet23417 13/18

    001002003004005006007008009010011012013014015016017018019020021022023024025026027028029030031032033034035036037038039040041042043044045046047048049050051052053054055056057058059060061062063064065066067068069070071072073074075076077078079080081082083084085086087

    SimpleTODO

  • 20/5/2015 CreacindeunaaplicacinWebAPICentricTuts+CdigoTutorial

    http://code.tutsplus.com/tutorials/creatinganapicentricwebapplicationnet23417 14/18

    Ahoradeberaseralgocomoesto:

    Bastantebieneh?Peroestemomento,nohacenada,asquevamosaempezaraaadiralgunasfunciones.Voyaofrecerelcdigopara new_todo.php ,quellamaral todo/crear llamadaalaAPIparacrearunnuevoelementodeTODO.Lacreacindelasotraspginas( update_todo.php y delete_todo.php )debesermuysimilaraste,asquevoyadejaraustedparacrearesos.Abre new_todo.phpyagregueelsiguientecdigo:

    Comosepuedever,el new_todo.php pginautilizael ApiCaller nuevoparafacilitarelenvodeltodo/crearsolicitudalservidorAPI.Estobsicamentehacelomismoqueantes:

    iniciarunasesinporloquetieneaccesoal nombredeusuario$ y $userpass guardadoenel $_SESSIONinstanciarunnuevo ApiCaller clase,dndoleel IDAPP , APPCLAVE yladireccinURLdelservidordelaAPIenviarlasolicitudatravsdela sendRequest() mtodo

    088089090091092093094095096097098099100101102103104

    01020304050607080910111213141516171819

  • 20/5/2015 CreacindeunaaplicacinWebAPICentricTuts+CdigoTutorial

    http://code.tutsplus.com/tutorials/creatinganapicentricwebapplicationnet23417 15/18

    Anuncio

    redirigirdenuevoa todo.php

    Felicidades,funciona!UstedhacreadoconxitounaaplicacinAPIcntrica!

    Conclusin

    HaytantasventajasparaeldesarrollodeunaaplicacinqueseconstruyealrededordeunaAPI.QuierescrearunaversindelaaplicacinAndroiddeSimpleTODO?TodalafuncionalidadquesenecesitayaestenelservidorAPI,porloquetodoloquetienequehacerescrearelcliente!Quieresrefactorizaruoptimizaralgunasdelasclases?Nohayproblemasloasegresedequelasalidaeslamisma.Necesidaddeaadirmsfuncionalidad?Puedeshacerlowihtoutafectaraningunadecdigosdelcliente!

    Aunquehayalgunasdesventajas,comolostiemposdedesarrollomslargosomscomplejidad,lasventajasdedesarrollarunaaplicacinwebdeestamaneraoutweightengranmedidalasdesventajas.Tododependedenosotrosparaaprovecharenestetipodedesarrollohoyparaquepodamoscosecharlosbeneficiosmsadelante.

    EstpensandoenutilizarunservidorAPIparalaaplicacinWebsiguiente,oyausadolamismatcnicaparaunproyectoenelpasado?Hzmelosaberenloscomentarios!

    Dificultad:Intermedio

    Longitud:Largo

    Categoras:

    PHP DesarrolloWeb

    Traducciones:

    Tuts+tutorialessontraducidosaotrosidiomaspornuestrosmiembrosdelacomunidadpuedeparticipartambin!

  • 20/5/2015 CreacindeunaaplicacinWebAPICentricTuts+CdigoTutorial

    http://code.tutsplus.com/tutorials/creatinganapicentricwebapplicationnet23417 16/18

    Anuncio

    Tutssugeridos+Curso

    TutorialesRelacionados

    Empleos

    EnvatoMercadoartculo

    Traduciresteartculo

    Descargararchivoadjunto

    AcercadeNikkoBautista

    +AmpliarBio

    EstoyNikkoBautista.Duranteelda,yotrabajocomoingenierodesoftwareenBright.com,donderealizamoslacontratacinmsinteligente,msrpidoymsbarato.Porlanoche,desarrollodeaplicacioneswebyescribirtutorialesparaTuts+.NacycrecenlaPerladeOriente,Filipinas.En2012,metrasladalotroladodelmundoyterminenelcorazndelcentrodeSanFrancisco,dondelaculturaylaenergasonincomparables.Es,sinlugaradudas,elmejorlugarparaser

    ingeniero.MeespecializoenlosmarcosdePHPyPHP.TengoexperienciaconSymfony,ZendFramework,CodeIgniter,FuelPHPylaravel.MegustacrearymantenerAPIsparadesarrolladoresdeusar.TambintengoexperienciaenAPIsdetercerosdeFacebook,Twitter,Googleyotrasplataformas.Amenudomeexploronuevastecnologas,losmarcosylosservicioswebmediantelaconstruccindeaplicacioneswebquelasutilizan.Tuts+mepermitecompartirloqueheaprendidoconelmundo.Enmitiempolibre,meencantaaprenderyleeracercadelasnuevastecnologas,lasinnovacionesylaweb.Tambinmegustaprobarnuevosrestaurantes,probarprobarwhiskies,dar

    AvanzadaPOOEnPHPconlaspruebasde 15dlares

    Elusodelaravel5AutenticacinFachadaCdigo

    ConstruccindesuinicioconPHP:PlanificacindeunareuninCdigo

    CrearunPluginLicenciacontroladaytemticodeactualizacindelsistema,Parte3:HacerlaactualizacinCdigo

    DesarrolladordeWordPress(remoto)enSouthBendDiseoenSanFrancisco,CA,EE.UU.

    VisualDiseoInstructorenTuts+ennulo

  • 20/5/2015 CreacindeunaaplicacinWebAPICentricTuts+CdigoTutorial

    http://code.tutsplus.com/tutorials/creatinganapicentricwebapplicationnet23417 17/18

    19652 Tutoriales 535 CursosdeVideo

    Serviciosdeencargodigitalescomodiseodelogotipos,instalacindeWordPress,produccindevdeoymuchoms.

    MiraEnvatoEstudio

    Disquspareceestartomandomstiempodelohabitual.Recargar?

    Anuncio

    Laenseanzadehabilidadesamillonesentodoelmundo.

    Sguenos

    Ayudayapoyo

    PFCondicionesdeusoComunqueseconelsoporteAcercaTuts+AnunciarEnseeaTuts+TraducirparaTuts+Meetup

    Boletinesdecorreoelectrnico

    ObtnTuts+actualizaciones,noticias,encuestasyofertas.

    EmailAddress

    Suscribir

    PolticaDePrivacidad

  • 20/5/2015 CreacindeunaaplicacinWebAPICentricTuts+CdigoTutorial

    http://code.tutsplus.com/tutorials/creatinganapicentricwebapplicationnet23417 18/18

    Construyecualquiercosa,desdelasredessocialesparapresentarlossistemasdecarga.ConstruirmsrpidoconscriptsPHPprecodificadas.

    NavegarPHPenCodeCanyon

    2015EnvatoPtyLtd.Marcascomercialesymarcassonpropiedaddesusrespectivosdueos.