Upgrade to Pro — share decks privately, control downloads, hide ads and more …

"Into to PHP" Milwaukee WordCamp

"Into to PHP" Milwaukee WordCamp

Introduction to PHP for WordPress.

6224f65dc0d9288ca4c9817d993d8ca4?s=128

Suzette Franck

July 25, 2014
Tweet

Transcript

  1. Intro to PHP Suzette Franck WordPress Evangelist, (mt) Media Temple

    2014 Milwaukee WordCamp Foundation Friday, July 25, 2014 #wcmke @mt_Suzette Media Temple // 8520 National Blvd. Culver City, CA 90232 / 877-578-4000 / mediatemple.net / @mt_Suzette © 2014 (mt) Media Temple
  2. Media Temple // 8520 National Blvd. Culver City, CA 90232

    / 877-578-4000 / mediatemple.net / @mt_Suzette © 2014 (mt) Media Temple Suzette Franck with a “ck” Twitter: @mt_Suzette ★WordPress Evangelist @ (mt) Media Temple ★Using WordPress since version 2.7 in 2008 ★20 years of web development experience ★Created 200+ WordPress custom themes ★Spoke at 20 WordCamps since 2011 ★WordPress Podcast WPUnicornProject.com https://www.youtube.com/user/mediatemple ★Reg. Contributor on WPwatercooler.com ★Blogs at: suzettefranck.com ★Slides: speakerdeck.com/suzettefranck
  3. Media Temple // 8520 National Blvd. Culver City, CA 90232

    / 877-578-4000 / mediatemple.net / @mt_Suzette © 2014 (mt) Media Temple ★What is PHP ★Tools ★Look at PHP Code ★Resources What We Will Cover
  4. Media Temple // 8520 National Blvd. Culver City, CA 90232

    / 877-578-4000 / mediatemple.net / @mt_Suzette © 2014 (mt) Media Temple PHP - What is it?
  5. Media Temple // 8520 National Blvd. Culver City, CA 90232

    / 877-578-4000 / mediatemple.net / @mt_Suzette © 2014 (mt) Media Temple PHP - What Is It? ★Originated as Personal Home Page Tools, now it’s PHP Hypertext Preprocessor ★Server-Side Scripting Language (PHP) vs. Client-Side Scripting Language (Javascript) ★<?php ...code... ?> alongside HTML ★Files must have .PHP extension ★Needs to be run on a server, outputs HTML ★Open Source, free, needs updates occasionally ★Runs on Apache and most web servers or OS
  6. Media Temple // 8520 National Blvd. Culver City, CA 90232

    / 877-578-4000 / mediatemple.net / @mt_Suzette © 2014 (mt) Media Temple The LAMP Stack PHP Apache Linux MySQL ★PHP is part of LAMP ★PHP processes code into HTML ★PHP talks to MySQL Database ★PHP evaluates form submissions
  7. Media Temple // 8520 National Blvd. Culver City, CA 90232

    / 877-578-4000 / mediatemple.net / @mt_Suzette © 2014 (mt) Media Temple PHP - Tools
  8. Media Temple // 8520 National Blvd. Culver City, CA 90232

    / 877-578-4000 / mediatemple.net / @mt_Suzette © 2014 (mt) Media Temple What You’ll Need: ★Knowledge of HTML & some CSS ★Text Editor ★A Modern Browser w/Internet ★Google and codex.wordpress.org ★Web Host or Local Host running WordPress
  9. Media Temple // 8520 National Blvd. Culver City, CA 90232

    / 877-578-4000 / mediatemple.net / @mt_Suzette © 2014 (mt) Media Temple PHP Code Editors
  10. Media Temple // 8520 National Blvd. Culver City, CA 90232

    / 877-578-4000 / mediatemple.net / @mt_Suzette © 2014 (mt) Media Temple Paid, Free to Try Free, Open Source ★Any old text editor will do ★Requirements: line numbering & syntax highlighting Sublime Text 2 (MacOS) Notepad++ (PC) PHP Code Editors
  11. Media Temple // 8520 National Blvd. Culver City, CA 90232

    / 877-578-4000 / mediatemple.net / @mt_Suzette © 2014 (mt) Media Temple Sublime Text 2 (index.php of 2014)
  12. Media Temple // 8520 National Blvd. Culver City, CA 90232

    / 877-578-4000 / mediatemple.net / @mt_Suzette © 2014 (mt) Media Temple Notepad++ (for PC)
  13. Media Temple // 8520 National Blvd. Culver City, CA 90232

    / 877-578-4000 / mediatemple.net / @mt_Suzette © 2014 (mt) Media Temple Web Server
  14. Media Temple // 8520 National Blvd. Culver City, CA 90232

    / 877-578-4000 / mediatemple.net / @mt_Suzette © 2014 (mt) Media Temple ★PHP 5.2.4 or higher ★MySQL 5.0 or higher ★Latest Version of WordPress 3.9.1 Your Web Host Your Computer Web Servers
  15. Media Temple // 8520 National Blvd. Culver City, CA 90232

    / 877-578-4000 / mediatemple.net / @mt_Suzette © 2014 (mt) Media Temple ServerPress.com
  16. Media Temple // 8520 National Blvd. Culver City, CA 90232

    / 877-578-4000 / mediatemple.net / @mt_Suzette © 2014 (mt) Media Temple Desktop Server
  17. Media Temple // 8520 National Blvd. Culver City, CA 90232

    / 877-578-4000 / mediatemple.net / @mt_Suzette © 2014 (mt) Media Temple Where Are The Templates? ★On Desktop Server: Documents/Websites/sitename.dev/ wp-content/themes/themename/
  18. Media Temple // 8520 National Blvd. Culver City, CA 90232

    / 877-578-4000 / mediatemple.net / @mt_Suzette © 2014 (mt) Media Temple Helpful Plugins
  19. Media Temple // 8520 National Blvd. Culver City, CA 90232

    / 877-578-4000 / mediatemple.net / @mt_Suzette © 2014 (mt) Media Temple Which Template? ★“What The File” Free WordPress Plugin
  20. Media Temple // 8520 National Blvd. Culver City, CA 90232

    / 877-578-4000 / mediatemple.net / @mt_Suzette © 2014 (mt) Media Temple Let’s Look At Code!
  21. Media Temple // 8520 National Blvd. Culver City, CA 90232

    / 877-578-4000 / mediatemple.net / @mt_Suzette © 2014 (mt) Media Temple Comments in PHP <?php // single line ?> <p>Some text.</p> <?php # single line ?> <p>Some text.</p> <?php /* multi line com- ments are fun */ ?> <p>Some text.</p> <?php // single line # single line /* multi line com- ments are fun*/ ?>
  22. Media Temple // 8520 National Blvd. Culver City, CA 90232

    / 877-578-4000 / mediatemple.net / @mt_Suzette © 2014 (mt) Media Temple Anatomy of a Function ★PHP Code Opening/Closing Tag ★WordPress or PHP Function ★Optional Parameters ★Line Terminator <?php bloginfo(‘name’); ?>
  23. Media Temple // 8520 National Blvd. Culver City, CA 90232

    / 877-578-4000 / mediatemple.net / @mt_Suzette © 2014 (mt) Media Temple Anatomy of a Variable ★PHP Code Opening/Closing Tag ★Variable Name, starts with $ ★Operator (Assignment) ★Value (String) ★Line Terminator <?php $eggs = “green”; ?>
  24. Media Temple // 8520 National Blvd. Culver City, CA 90232

    / 877-578-4000 / mediatemple.net / @mt_Suzette © 2014 (mt) Media Temple Variables & Data Types
  25. Media Temple // 8520 National Blvd. Culver City, CA 90232

    / 877-578-4000 / mediatemple.net / @mt_Suzette © 2014 (mt) Media Temple PHP Data Types ★What you can do depends on data type ★Variables can change data type ★Versatile, but slower than other languages ★Strings ★Integers and Floating Point Numbers ★Boolean (true false) ★Arrays (multiple values) ★Null
  26. Media Temple // 8520 National Blvd. Culver City, CA 90232

    / 877-578-4000 / mediatemple.net / @mt_Suzette © 2014 (mt) Media Temple Strings ★PHP Code Opening/Closing Tag ★Variable Name, starts with $ ★Operator (Assignment) ★Value (String) ★Line Terminator <?php $eggs = “green”; ?>
  27. Media Temple // 8520 National Blvd. Culver City, CA 90232

    / 877-578-4000 / mediatemple.net / @mt_Suzette © 2014 (mt) Media Temple Integers ★PHP Code Opening/Closing Tag ★Variable Name, starts with $ ★Operator (Assignment) ★Value (Integer) ★Line Terminator <?php $eggs = 3; ?>
  28. Media Temple // 8520 National Blvd. Culver City, CA 90232

    / 877-578-4000 / mediatemple.net / @mt_Suzette © 2014 (mt) Media Temple Boolean ★PHP Code Opening/Closing Tag ★Variable Name, starts with $ ★Operator (Assignment) ★Value (boolean) ★Line Terminator <?php $eggs = 0; // false ?>
  29. Media Temple // 8520 National Blvd. Culver City, CA 90232

    / 877-578-4000 / mediatemple.net / @mt_Suzette © 2014 (mt) Media Temple Arrays ★PHP Code Opening/Closing Tag ★Variable Name, starts with $ ★Operator (Assignment) ★Value (array) ★Line Terminator <?php $eggs = array(“green”, “red”, “blue”); ?>
  30. Media Temple // 8520 National Blvd. Culver City, CA 90232

    / 877-578-4000 / mediatemple.net / @mt_Suzette © 2014 (mt) Media Temple Null ★PHP Code Opening/Closing Tag ★Variable Name, starts with $ ★Operator (Assignment) ★Value (Null) ★Line Terminator <?php $eggs = NULL; ?>
  31. Media Temple // 8520 National Blvd. Culver City, CA 90232

    / 877-578-4000 / mediatemple.net / @mt_Suzette © 2014 (mt) Media Temple Echo and Print
  32. Media Temple // 8520 National Blvd. Culver City, CA 90232

    / 877-578-4000 / mediatemple.net / @mt_Suzette © 2014 (mt) Media Temple Echo and Print Statements I’d like green eggs. I’d like 3 eggs. ★echo() outputs one or more strings. ★print() outputs one string and a value of 1 ★echo() is marginally faster ★Both are language constructs ★CaSe InSensitive ★Both can be used with or without () ★Can include HTML and variables ★Single or double quotes
  33. Media Temple // 8520 National Blvd. Culver City, CA 90232

    / 877-578-4000 / mediatemple.net / @mt_Suzette © 2014 (mt) Media Temple Echo and Print Statements <?php $eggs = “green”; echo “<p>I’d like $eggs eggs. ”; $eggs = 3; echo “I’d like $eggs eggs.</p>”; ?> I’d like green eggs. I’d like 3 eggs.
  34. Media Temple // 8520 National Blvd. Culver City, CA 90232

    / 877-578-4000 / mediatemple.net / @mt_Suzette © 2014 (mt) Media Temple All Together Now <?php $year = date(‘Y’); // sets year echo “Copyright &copy; $year.”; ?> Copyright © 2014.
  35. Media Temple // 8520 National Blvd. Culver City, CA 90232

    / 877-578-4000 / mediatemple.net / @mt_Suzette © 2014 (mt) Media Temple Advanced Example $year = date(‘Y’); // sets year $name = get_bloginfo(‘name’); // sets name $email = get_bloginfo(‘admin_email’); // sets email echo “Copyright &copy; $year by <a href='mailto:$email'>$name</a>."; Copyright © 2014 by Intro to PHP.
  36. Media Temple // 8520 National Blvd. Culver City, CA 90232

    / 877-578-4000 / mediatemple.net / @mt_Suzette © 2014 (mt) Media Temple Operators in PHP Arithmetic + - * / % Assignment = += -= *= /= %= String Concatenation . .= Increment/Decrement $x++ $x-- Comparison == != <> !== > < >= <= Logical && and || or xor !
  37. Media Temple // 8520 National Blvd. Culver City, CA 90232

    / 877-578-4000 / mediatemple.net / @mt_Suzette © 2014 (mt) Media Temple Anatomy of a Statement <?php $year = date(‘Y’); // sets year ?> <?php if (have_posts()) : ?> <!-- do stuff ... --> <?php endif; ?> <?php if (have_posts()) { // do stuff } endif; ?>
  38. Media Temple // 8520 National Blvd. Culver City, CA 90232

    / 877-578-4000 / mediatemple.net / @mt_Suzette © 2014 (mt) Media Temple Anatomy of a The Loop <?php $year = date(‘Y’); // sets year ?> <?php if (have_posts()) : ?> <?php while (have_posts()) : the_post(); ?> <!-- do stuff ... --> <?php endwhile; ?> <?php endif; ?>
  39. Media Temple // 8520 National Blvd. Culver City, CA 90232

    / 877-578-4000 / mediatemple.net / @mt_Suzette © 2014 (mt) Media Temple Resources
  40. Media Temple // 8520 National Blvd. Culver City, CA 90232

    / 877-578-4000 / mediatemple.net / @mt_Suzette © 2014 (mt) Media Temple Recommended Books “WordPress Web Design for Dummies” by Lisa Sabin-Wilson
  41. Media Temple // 8520 National Blvd. Culver City, CA 90232

    / 877-578-4000 / mediatemple.net / @mt_Suzette © 2014 (mt) Media Temple Recommended Videos “WordPress Web Design for Dummies” by Lisa Sabin-Wilson
  42. Media Temple // 8520 National Blvd. Culver City, CA 90232

    / 877-578-4000 / mediatemple.net / @mt_Suzette © 2014 (mt) Media Temple Recommended Websites http://codecademy.com
  43. Media Temple // 8520 National Blvd. Culver City, CA 90232

    / 877-578-4000 / mediatemple.net / @mt_Suzette © 2014 (mt) Media Temple Recommended Websites Google all the things!
  44. Media Temple // 8520 National Blvd. Culver City, CA 90232

    / 877-578-4000 / mediatemple.net / @mt_Suzette © 2014 (mt) Media Temple Recommended Websites http://www.w3schools.com
  45. Media Temple // 8520 National Blvd. Culver City, CA 90232

    / 877-578-4000 / mediatemple.net / @mt_Suzette © 2014 (mt) Media Temple Recommended Websites http://php.net/manual/en/
  46. Media Temple // 8520 National Blvd. Culver City, CA 90232

    / 877-578-4000 / mediatemple.net / @mt_Suzette © 2014 (mt) Media Temple Recommended Websites http://codex.wordpress.org
  47. Media Temple // 8520 National Blvd. Culver City, CA 90232

    / 877-578-4000 / mediatemple.net / @mt_Suzette © 2014 (mt) Media Temple In Summary
  48. Media Temple // 8520 National Blvd. Culver City, CA 90232

    / 877-578-4000 / mediatemple.net / @mt_Suzette © 2014 (mt) Media Temple Things to Remember ★Follow the script logic flow ★Dissect code part-by-part ★Look up php functions in google ★Variables are different data types ★Functions performed based on data types ★Have fun and learn!
  49. Questions? Suzette Franck suzette@mediatemple.net https://speakerdeck.com/suzettefranck HAVE FUN AND LEARN! @mt_Suzette

    Follow Me On Twitter!