Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
OOP, MVC, Ajax e PHP5 na prática com SugarCRM 5.0 David O’Keefe, André Lopes – Lampada Global Services
Solutions instead of Code <ul><li>Lampada Global Services desenvolve soluções em código aberto para clientes em toda parte...
OOP e MVC <ul><li>OOP - Programação Orientada a Objetos </li></ul><ul><ul><li>Paradigma de análise, projeto e programação ...
Por que o SugarCRM foi feita em PHP? <ul><li>Propósito principal é de implementar soluções web velozes, simples e eficient...
Frameworks: Build software or write code? <ul><li>Reinventar a roda é divertido ! </li></ul><ul><ul><li>Zend Framework, Ph...
SugarCRM Framework <ul><li>Model-View-Controller (MVC) </li></ul><ul><ul><li>/include/MVC </li></ul></ul><ul><li>Banco de ...
SugarCRM: MVC – Control ! <ul><li><?PHP </li></ul><ul><li>require_once('include/MVC/Controller/SugarController.php'); </li...
SugarCRM: MVC – ControllerFactory <ul><li>function getController($module){ </li></ul><ul><li>$class = ucfirst($module).'Co...
SugarCRM MVC <ul><li>index.php </li></ul><ul><ul><li>$app = new SugarApplication(); </li></ul></ul><ul><li>includeMVCSugar...
SugarCRM Orientação a Objeto <ul><li>modulesndl_ComponentFieldsndl_ComponentFields_sugar.php </li></ul><ul><li>modulesn...
SugarCRM QuickSearch AJAX <ul><li>[sugarcrm]modulesndl_BundleRequirementsmetadataeditviewdefs.php </li></ul><ul><li>[suga...
Sobre a Lampada Global Services <ul><li>Desde 2003, oferecemos soluções em PHP e código aberto. </li></ul><ul><li>Mais que...
Upcoming SlideShare
Loading in …5
×

Lampada Php Conference Brasil 2007 Palestra

1,337 views

Published on

Palestra sobre MVC e PHP no sistema SugarCRM.

Published in: Technology
  • Be the first to comment

Lampada Php Conference Brasil 2007 Palestra

  1. 1. OOP, MVC, Ajax e PHP5 na prática com SugarCRM 5.0 David O’Keefe, André Lopes – Lampada Global Services
  2. 2. Solutions instead of Code <ul><li>Lampada Global Services desenvolve soluções em código aberto para clientes em toda parte do mundo. </li></ul><ul><li>Nossos clientes não querem comprar código, querem as soluções dos seus problemas. </li></ul><ul><li>As melhores soluções são: </li></ul><ul><ul><li>Rápida </li></ul></ul><ul><ul><li>Económica </li></ul></ul><ul><ul><li>Robusta </li></ul></ul><ul><ul><li>Personalizável </li></ul></ul><ul><ul><li>Extensível </li></ul></ul><ul><ul><li>Atualizável </li></ul></ul>PHP Conference Brasil 2007 ©2007 Lampada Global Services. All rights reserved.
  3. 3. OOP e MVC <ul><li>OOP - Programação Orientada a Objetos </li></ul><ul><ul><li>Paradigma de análise, projeto e programação </li></ul></ul><ul><ul><li>Baseado na composição e interação entre unidades de software </li></ul></ul><ul><li>MVC - Model-view-controller </li></ul><ul><ul><li>Padrão de arquitetura de software que separa os dados (Model) da interface (View) e a Lógica (Controller). </li></ul></ul><ul><ul><li>3 camadas: </li></ul></ul><ul><ul><ul><li>Apresentação (interface) </li></ul></ul></ul><ul><ul><ul><ul><li>View e Controller, separadas nesta camada </li></ul></ul></ul></ul><ul><ul><ul><li>Domínio (business logic) </li></ul></ul></ul><ul><ul><ul><ul><li>Model </li></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>Acesso a dados (data access), a “3 0 camada” separada mas implicitamente junta com o Model </li></ul></ul></ul></ul></ul>PHP Conference Brasil 2007 ©2007 Lampada Global Services. All rights reserved.
  4. 4. Por que o SugarCRM foi feita em PHP? <ul><li>Propósito principal é de implementar soluções web velozes, simples e eficientes. </li></ul><ul><li>Características: </li></ul><ul><ul><li>Velocidade e robustez </li></ul></ul><ul><ul><li>Estruturado e orientação a objeto </li></ul></ul><ul><ul><li>Portabilidade - independência de plataforma </li></ul></ul><ul><ul><li>Tipagem fraca </li></ul></ul><ul><ul><li>Sintaxe similar a C/C++ e PERL </li></ul></ul><ul><li>Mais rápida e económica que a Java </li></ul>PHP Conference Brasil 2007 ©2007 Lampada Global Services. All rights reserved.
  5. 5. Frameworks: Build software or write code? <ul><li>Reinventar a roda é divertido ! </li></ul><ul><ul><li>Zend Framework, Phrame, CakePHP, Symfony, WACT, ZooP, CodeIgniter </li></ul></ul><ul><ul><li>40+ frameworks em PHP </li></ul></ul><ul><li>Mais consistente </li></ul><ul><li>Mais rápido de protótipo a produto </li></ul><ul><li>Mais configuração e pesquisa </li></ul><ul><li>Menos criação de código </li></ul><ul><li>SugarCRM é um framework </li></ul>PHP Conference Brasil 2007 ©2007 Lampada Global Services. All rights reserved.
  6. 6. SugarCRM Framework <ul><li>Model-View-Controller (MVC) </li></ul><ul><ul><li>/include/MVC </li></ul></ul><ul><li>Banco de dados </li></ul><ul><ul><li>/data/SugarBean.php </li></ul></ul><ul><ul><ul><li>$this->db = &PearDatabase::getInstance(); </li></ul></ul></ul><ul><ul><ul><li>$this->dbManager = &DBManagerFactory::getInstance(); </li></ul></ul></ul><ul><li>Internacionalização e Localização </li></ul><ul><ul><li>/include/language </li></ul></ul><ul><ul><li>/modules/[MyModule]/language </li></ul></ul><ul><ul><li>/include/Localization/Localization.php </li></ul></ul><ul><li>Autenticação, Autorização e Sessões </li></ul><ul><ul><li>/modules/User/Authentication </li></ul></ul><ul><ul><li>/modules/ACL </li></ul></ul><ul><li>AJAX, Webservices, RSS, etc. </li></ul><ul><ul><li>Dashlets, NuSOAP, WICK (input completion), DOMIT RSS </li></ul></ul><ul><li>E-mail, Formatos (ex. PDF) e Busca </li></ul><ul><ul><li>PHPMailer, PHP PDF, FCKeditor </li></ul></ul><ul><li>Infra-estrutura base </li></ul><ul><ul><li>/include </li></ul></ul><ul><ul><li>/custom </li></ul></ul>PHP Conference Brasil 2007 ©2007 Lampada Global Services. All rights reserved.
  7. 7. SugarCRM: MVC – Control ! <ul><li><?PHP </li></ul><ul><li>require_once('include/MVC/Controller/SugarController.php'); </li></ul><ul><li>class demo_MyModuleController extends SugarController { </li></ul><ul><li>function demo_MyModuleController(){ </li></ul><ul><li>parent::SugarController(); </li></ul><ul><li>} </li></ul><ul><li>function manipulate_model() { </li></ul><ul><li>$this->bean->message = “Hello World !”; </li></ul><ul><li>} </li></ul><ul><li>} </li></ul><ul><li>?> </li></ul>PHP Conference Brasil 2007 ©2007 Lampada Global Services. All rights reserved.
  8. 8. SugarCRM: MVC – ControllerFactory <ul><li>function getController($module){ </li></ul><ul><li>$class = ucfirst($module).'Controller'; </li></ul><ul><li>if(file_exists('custom/modules/'.$module.'/controller.php')){ </li></ul><ul><li>require_once('custom/modules/'.$module.'/controller.php'); </li></ul><ul><li>if(class_exists($class))$controller = new $class(); </li></ul><ul><li>} </li></ul><ul><li>elseif(file_exists('modules/'.$module.'/controller.php')){ </li></ul><ul><li>require_once('modules/'.$module.'/controller.php'); </li></ul><ul><li>if(class_exists($class))$controller = new $class(); </li></ul><ul><li>} </li></ul><ul><li>else { </li></ul><ul><li>$controller = new SugarController(); </li></ul><ul><li>} </li></ul><ul><li>//set the module </li></ul><ul><li>$controller->module = $module; </li></ul><ul><li>return $controller; </li></ul><ul><li>} </li></ul>PHP Conference Brasil 2007 ©2007 Lampada Global Services. All rights reserved.
  9. 9. SugarCRM MVC <ul><li>index.php </li></ul><ul><ul><li>$app = new SugarApplication(); </li></ul></ul><ul><li>includeMVCSugarApplication.php </li></ul><ul><ul><li>$this->controller = ControllerFactory::getController($module); </li></ul></ul><ul><li>includeMVCControllerSugarController.php </li></ul><ul><li>includeMVCViewviewsview.edit.php </li></ul><ul><li>includeEditViewEditView2.php </li></ul><ul><li>É uma arquitetura orientada a objetos… </li></ul>PHP Conference Brasil 2007 ©2007 Lampada Global Services. All rights reserved.
  10. 10. SugarCRM Orientação a Objeto <ul><li>modulesndl_ComponentFieldsndl_ComponentFields_sugar.php </li></ul><ul><li>modulesndl_ComponentFieldsndl_ComponentFields.php </li></ul><ul><li>includeSugarObjects emplatesasicBasic.php </li></ul><ul><li>dataSugarBean.php </li></ul><ul><li>includedatabasePearDatabase.php </li></ul><ul><li>includedatabaseMysqliManager.php </li></ul>PHP Conference Brasil 2007 ©2007 Lampada Global Services. All rights reserved.
  11. 11. SugarCRM QuickSearch AJAX <ul><li>[sugarcrm]modulesndl_BundleRequirementsmetadataeditviewdefs.php </li></ul><ul><li>[sugarcrm]customapplicationExtLanguageen_us.lang.ext.php </li></ul><ul><li>[sugarcrm]modulesndl_BundleRequirementsvardefs.php </li></ul><ul><li>AJAX: [sugarcrm]includeSugarFieldsFieldsParentSugarFieldParent.php </li></ul><ul><li>AJAX: [sugarcrm]includeSugarFieldsFieldsParentEditView.tpl </li></ul><ul><li>AJAX: [sugarcrm]jssourcesrc_filesincludejavascriptquicksearch.js </li></ul>PHP Conference Brasil 2007 ©2007 Lampada Global Services. All rights reserved.
  12. 12. Sobre a Lampada Global Services <ul><li>Desde 2003, oferecemos soluções em PHP e código aberto. </li></ul><ul><li>Mais que 60 projetos no Brasil e afora. </li></ul><ul><li>SugarCRM Silver Partner, o único no Brasil. </li></ul><ul><li>www.lampadaglobal.com </li></ul><ul><li>Estamos contratando ! </li></ul>PHP Conference Brasil 2007 ©2007 Lampada Global Services. All rights reserved.

×