Php Development With Eclipde PDT

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    3 Favorites & 1 Group

    Php Development With Eclipde PDT - Presentation Transcript

    1. PHP development with Eclipse PDT Bastian Feder IPC 2008 papaya Software GmbH 29.10.2008
    2. Me, myself & I  Application developer  PHP since 2001  @papaya since 01.2008
    3. Agenda  Installation  Configuration  Views & Perspectives  Projects  Templates  Code competetion  External Tools Framework  xDebug integration  Plugins
    4. Installation  Download latest revision from Eclipse website (http://www.eclipse.org/pdt/downloads) ▹ All in one (recommended): provides everything you need to run PDT. ▹ PDT Feature / Update Manager: extends an existing Eclipse, but all dependencies PDT relies on needs to be installed first.  Extract archive  Copy to favorized location (e.g. /usr/local/bin/ or another location in your application path)
    5. Configuration  Heap space (memory allocated by JVM) size depends on system memory capacity ▹ Xms, Xmx ▹ XXMaxPermSize, XXPermSize  Eclipse PDT settings ▹ disable code folding ▹ formatting / linebreaks ▹ validation / build settings ▹ disable automatic updates
    6. Views & Perspectives  Views or Tabs (Window > Show View) ▹ Viewport providing specific information and/or functionality  Perspective (Window > Open Perspektive) ▹ Arrangement of Views: PHP Perspektive contains e.g. 'PHP Explorer', 'Outline' and 'Project Outline'
    7. Views & Perspectives (II)
    8. Projects  Organizational untis  Customizeable configuration  PHP include path ▹ Validation ▹ Build rules ▹ ...
    9. Templates  Contextual predefined code snippets  Configure at Preferences > PHP > Templates
    10. Code templates  Activation key: <CTRL> + space  Code templates ▹ Eases typing of complex code structures (e.g. switch – statement) ▹ Minimize errors switch ($action) { ▹ Act like a form case 'read': ; break; default: ; break; }
    11. Code templates (II)  Capable of code completion  Set cursor positioning (${cursor})  Dynamic content by use of variables ▹ ${class}, ${class_container} ▹ ${function}, ${function_container} ▹ ${variable} switch (${dollar}${variable}) { case ${value}: ${cursor}; ▹ ${value} break; default: ; break; }
    12. File templates  File templates ▹ Create new files with standardized structures ▹ Easy to create or adapt
    13. Code completion (Code Assist)  Configuration via Preferences > PHP > Editor > Code Assist
    14. Code completion (II) (Code Assist)  Activation key <CTRL> + space  Completes ▹ PHP functions ▹ Classes & functions ▹ Constants ▹ Code templates  Evolves with every plugin supporting this feature (e.g. JSEclipse)
    15. Code completion (III) (Code Assist)
    16. Code completion (IV) (Code Assist)  Documentation hint ▹ declaring the name of a class to be instantiated as the type of the 'local' class var will enable Eclipse to resolve the methods of the instantiated class: class docuDb { class docuHint { private function connect() { /** return mysql_connect_db(); * @var docuDb Database handling } */ } private $dbHandler = NULL; private function connectToDB() { $this->dbHandler = &new docuDb(); $dbh = $this->dbHandler->connect(); } }
    17. External Tools Framework  Enables Eclipse to run ,stand-alone' applications  Two broad classes of external tools are available: ▹ Ant build files ▹ Everything else
    18. External Tools Framework (II)
    19. External Tools Framework (III)  Loaction Linux / Mac OsX: points to the phpDocumentor installation Windows: points to the PHP executable  Working directory directory to store temporary data  Arguments Linux/ Mac OsX: command line parameters to be passed to phpDocumentor. Windows: path to the phpDocumentor installation and command line parameters (e.g.: \"D:\\xampp\\php\\phpdoc\" -c \"$ {project_loc}/doc/tech/config/phpdoc.ini\" )
    20. External Tools Framework (III)  Display in favorits menu  Standard input & output
    21. xDebug  Debugging for PHP by Derick Rethans (http://www.xdebug.org)  Provides profiling, tracing, code coverage, …  Cross platform
    22. xDebug configuration  Add to php.ini (e.g. on Mac) [XDebug] ;; Only Zend OR (!) XDebug zend_extension=\"/Applications/xampp/xamppfiles/lib/php/php5/extensions/no-debug-non-zts- 20060613/xdebug.so\" xdebug.remote_enable=true xdebug.remote_host=127.0.0.1 ;if debugging on remote server, put client IP here xdebug.remote_port=9000 xdebug.remote_handler=dbgp ;; profiler xdebug.profiler_enable=Off xdebug.profiler_enable_trigger=On xdebug.profiler_output_dir=/data_lokal/temp/xdebug/profiling  or .htaccess - file #-------------------------------# # xDebug section # #-------------------------------# php_value xdebug.remote_enable 1 php_value xdebug.remote_handler bdgp php_value xdebug.remote_host 127.0.0.1 ;if debugging on remote server, put client IP here ;; php_value xdebug.allowed_clients <client IP address> php_value xdebug.remote_port 9000 # profiler php_value xdebug.profiler_enable_trigger 1 php_value xdebug.profiler_enable 0 php_value xdebug.profiler_output_dir \"/data_lokal/temp/xdebug/profiling\"
    23. xDebug (III)  Debug dialog
    24. xDebug (IV)  Configure PDT to talk to xDebug
    25. xDebug (IV)  Configure the 'Server' handling the debugging session
    26. Plugins  Subclipse managing SVN repositories from inside Eclipse  JSEclipse Provides additional features supporting JavaScript  Data Tools Platform managing databases from inside Eclipse
    27. Subclipse (installation)  Eclipsse update site: http://subclipse.tigris.org/update
    28. Subclipse (configuration)  Set „auto-properties“ ▹ WinXp: C:\\Dokumente und Einstellungen\\<USER>\\Anwendungsdaten\\Subversion\\config ▹ MacOs / Linux: ~/.subversion/config [miscellany] global-ignores = *.o *.lo *.la #*# .*.rej *.rej .*~ *~ .#* .DS_Store .project .cache .settings enable-auto-props = yes [auto-props] *.js = svn:eol-style=LF;svn:keywords=Id LastChangedDate LastChangedRevision URL *.css = svn:eol-style=LF;svn:keywords=Id LastChangedDate LastChangedRevision URL *.php = svn:eol-style=LF;svn:keywords=Id LastChangedDate LastChangedRevision URL *.html = svn:eol-style=LF;svn:mime-type=text/html;svn:keywords=LastChangedDate LastChangedRevision URL *.htm = svn:eol-style=LF;svn:mime-type=text/html;svn:keywords=LastChangedDate LastChangedRevision URL *.xsl = svn:eol-style=LF *.xml = svn:eol-style=LF *.xsd = svn:eol-style=LF
    29. Subclipse (conflict handling)  Integrated (diff-) editor to resolve conflicts  Support for merging changes which do not conflict  Preview on the checkout to find conflicts before updating the sources
    30. Questions?
    31. References  Eclipse PDT (http://www.eclipse.org/pdt)  Eclipse plugins ▹ Subclipse (http://subclipse.tigris.org) ▹ JSEclipse (http://www.interaktonline.com/products/eclipse/jseclipse/overview)  xDebug (http://www.xdebug.org)  PhpDocumentor @ pear.php.net (http://pear.php.net/package/PhpDocumentor/docs/1.4.2)  SVN keyword substitution (http://svnbook.red-bean.com/en/1.4/svn-book.html#svn.advanced.props.special.keywords)
    32. License This set of slides and the source code included in the download package is licensed under the Creative Commons Attribution-Noncommercial- Share Alike 2.0 Generic License http://creativecommons.org/licenses/by-nc-sa/2.0/deed.en

    + Bastian FederBastian Feder, 2 years ago

    custom

    2548 views, 3 favs, 1 embeds more stats

    Hands on the Eclipse PDT, how integrate xDebug, php more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 2548
      • 2526 on SlideShare
      • 22 from embeds
    • Comments 0
    • Favorites 3
    • Downloads 36
    Most viewed embeds
    • 22 views on http://www.mr-san.com

    more

    All embeds
    • 22 views on http://www.mr-san.com

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories

    Groups / Events