Your SlideShare is downloading. ×
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

807

Published on

Palestra sobre MVC e PHP no sistema SugarCRM.

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
807
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Transcript of "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.

×