SlideShare ist ein Scribd-Unternehmen logo
1 von 127
Today’s Tools
Write code: http://www.codepad.com
 Select PHP as the language!
Ask questions:
 IRC: irc.freenode.net #php4np
 Twitter: php4np
Robert Ristroph is here for you!
PHP For NonProgrammers
 Programmer: One who writes computer programs.

 NonProgrammer: One who will write PHP code today
 while learning Diana’s Five Rules of Programming
 and earning geek points.




DrupalCon San Francisco 2010
You Win!
Score more than 5 points during today’s
presentation and win the Grand Prize Geek Award*
(GPGA).

* Four Kitchens’ stickers and the right to change your Facebook language to
English(Pirate).
<?php

 /**
  * About Me
  */

 // also comments
 $name = “Diana Montalion Dupuis”;
 $fourKitchensWebChef = TRUE;
 $numPets = 3;

 $currBooks = array(“The World Without Us”, “Outliers”, “Brain Rules”, “Wolf
 Hall”);

 if ($notWorking == TRUE) {
 
    echo “I’m reading a book or watching football.”;
 } else {
 
    echo “I’m writing PHP code.”;
 }
 ?>


Write your own version!
<?php

 /**                              comments
  * About Me
  */

 // also comments
 $name = “Diana Montalion Dupuis”;
 $fourKitchensWebChef = TRUE;
 $numPets = 3;

 $currBooks = array(“The World Without Us”, “Outliers”, “Brain Rules”, “Wolf
 Hall”);

 if ($notWorking == TRUE) {
 
    echo “I’m reading a book or watching football.”;
 } else {
 
    echo “I’m writing PHP code.”;
 }
 ?>


Write your own version!
<?php

 /**                              comments
  * About Me
  */

 // also comments
 $name = “Diana Montalion Dupuis”;
 $fourKitchensWebChef = TRUE;                      variables
 $numPets = 3;

 $currBooks = array(“The World Without Us”, “Outliers”, “Brain Rules”, “Wolf
 Hall”);

 if ($notWorking == TRUE) {
 
    echo “I’m reading a book or watching football.”;
 } else {
 
    echo “I’m writing PHP code.”;
 }
 ?>


Write your own version!
<?php

 /**                              comments
  * About Me
  */

 // also comments
 $name = “Diana Montalion Dupuis”;
 $fourKitchensWebChef = TRUE;                      variables
 $numPets = 3;

 $currBooks = array(“The World Without Us”, “Outliers”, “Brain Rules”, “Wolf
 Hall”);

 if ($notWorking == TRUE) {
                                                                 array
 
    echo “I’m reading a book or watching football.”;
 } else {
 
    echo “I’m writing PHP code.”;
 }
 ?>


Write your own version!
<?php

 /**                              comments
  * About Me
  */

 // also comments
 $name = “Diana Montalion Dupuis”;
 $fourKitchensWebChef = TRUE;                      variables
 $numPets = 3;

 $currBooks = array(“The World Without Us”, “Outliers”, “Brain Rules”, “Wolf
 Hall”);

 if ($notWorking == TRUE) {
                                                                 array
 
    echo “I’m reading a book or watching football.”;
 } else {
 
    echo “I’m writing PHP code.”;                      conditional
 }
 ?>


Write your own version!
What does PHP mean?




http://en.wikipedia.org/wiki/PHP
What does PHP mean?
 Who cares?!?




http://en.wikipedia.org/wiki/PHP
What does PHP mean?
 Who cares?!?
 The question and answer that matter most are the




http://en.wikipedia.org/wiki/PHP
What does PHP mean?
 Who cares?!?
 The question and answer that matter most are the

  PHP: Hypertext Preprocessor is a widely used, general-purpose scripting language that was originally designed for web development to
  produce dynamic web pages. For this purpose, PHP code is embedded into the HTML source document and interpreted by a web server
  with a PHP processor module, which generates the web page document. As a general-purpose programming language, PHP code is
  processed by an interpreter application in command line mode performing desired operating system operations and producing program
  output on its standard output channel. It may also function as a graphical application. PHP is available as a processor for most modern
  web servers and as a standalone interpreter on most operating systems and computing platforms.




http://en.wikipedia.org/wiki/PHP
Diana’s Rule #1




Programming is asking the right questions and coming up with
possible answers.
Diana’s Rule #1
 Self educate constantly.

 Your sixth-grade English teacher was right - if you
 don’t know, look it up. Find places to get help.
 Ignore whatever (or whomever) isn’t helpful.



Programming is asking the right questions and coming up with
possible answers.
I’m a Mac.
Are you a Mac || a PC?



I’m a Mac.
Good Places to Start
Good Places to Start
• W3Schools Tutorial: http://www.w3schools.com/PHP/
Good Places to Start
• W3Schools Tutorial: http://www.w3schools.com/PHP/
• HeadFirst Labs Book: http://headfirstlabs.com/books/
hfphp/
Good Places to Start
• W3Schools Tutorial: http://www.w3schools.com/PHP/
• HeadFirst Labs Book: http://headfirstlabs.com/books/
hfphp/
• PHP.net (and tutorial): http://php.net/manual/en/
tutorial.php
Good Places to Start
• W3Schools Tutorial: http://www.w3schools.com/PHP/
• HeadFirst Labs Book: http://headfirstlabs.com/books/
hfphp/
• PHP.net (and tutorial): http://php.net/manual/en/
tutorial.php
• Pro Drupal Development Book: http://
www.drupalbook.com/
Diana’s Rule #2




How do I get to Carnegie Hall?
Diana’s Rule #2
 Write code.




How do I get to Carnegie Hall?
Diana’s Rule #2
 Write code.

 Writing code is the only thing that teaches you how
 to write code.




How do I get to Carnegie Hall?
Write Code!




I recommend TextMate and Coda for Mac, EditPlus and Aptana for PCs
Write Code!
  1. Use Codepad or open Notepad (or any other
  simple text program).




I recommend TextMate and Coda for Mac, EditPlus and Aptana for PCs
Write Code!
  1. Use Codepad or open Notepad (or any other
  simple text program).
  2. Not Microsoft Word, never ever ever use Word. A
  piece of paper and a pen is fine too.




I recommend TextMate and Coda for Mac, EditPlus and Aptana for PCs
Write Code!
  1. Use Codepad or open Notepad (or any other
  simple text program).
  2. Not Microsoft Word, never ever ever use Word. A
  piece of paper and a pen is fine too.
  2. Write this in the top left-hand corner:




I recommend TextMate and Coda for Mac, EditPlus and Aptana for PCs
Write Code!




I recommend TextMate and Coda for Mac, EditPlus and Aptana for PCs
<?php

/**
 * About Me
 */

$name = “Your Name Here”;

echo $name;

?>
Bonus point if you’ve seen the movie more than 5 times.
$name = “Trinity”;

Bonus point if you’ve seen the movie more than 5 times.
Diana’s Rule #3




“Stupid” mistakes are 85% of mistakes you’ll make.
Diana’s Rule #3
 You will suffer daily from the Missing Semicolon
 Syndrome (MSS).

 Forgetting the semicolon is the most common syntax
 error. PHP errors will break your site. Don’t panic!
 Just fix them.



“Stupid” mistakes are 85% of mistakes you’ll make.
Four PHP Concepts
Four PHP Concepts
• Variables: containers for your stuff
Four PHP Concepts
• Variables: containers for your stuff
• Arrays: a variable that is a list, or a list of lists
Four PHP Concepts
• Variables: containers for your stuff
• Arrays: a variable that is a list, or a list of lists
• Conditionals: the brains of your operation
Four PHP Concepts
• Variables: containers for your stuff
• Arrays: a variable that is a list, or a list of lists
• Conditionals: the brains of your operation
• Functions: little blocks of “do stuff”
Variables
Variables
• begin with the ‘$’ symbol
Variables
• begin with the ‘$’ symbol
• should be aptly named
Variables
• begin with the ‘$’ symbol
• should be aptly named
• come in 8 different flavors
Variables
• begin with the ‘$’ symbol
• should be aptly named
• come in 8 different flavors
• are assigned a value using =
8 Types of Variables
8 Types of Variables
• Boolean: $fourKitchensWebChef = TRUE;
8 Types of Variables
• Boolean: $fourKitchensWebChef = TRUE;
• Integer: $numPets = 3;
8 Types of Variables
• Boolean: $fourKitchensWebChef = TRUE;
• Integer: $numPets = 3;
• Float: $pie = 3.1416;
8 Types of Variables
• Boolean: $fourKitchensWebChef = TRUE;
• Integer: $numPets = 3;
• Float: $pie = 3.1416;
• String: $hobbies = “I enjoy hiking.”;
8 Types of Variables
• Boolean: $fourKitchensWebChef = TRUE;
• Integer: $numPets = 3;
• Float: $pie = 3.1416;
• String: $hobbies = “I enjoy hiking.”;
• Array: $currBooks = array(“The World Without Us”,
“Outliers”, “Brain Rules”, “Wolf Hall”);
And The Rest
And The Rest
Variables we won’t discuss (much) today:
And The Rest
Variables we won’t discuss (much) today:
• Object: $node->id
And The Rest
Variables we won’t discuss (much) today:
• Object: $node->id
• Resource: the database connection, for example
And The Rest
Variables we won’t discuss (much) today:
• Object: $node->id
• Resource: the database connection, for example
• NULL
1 point for the group name, 1 point each for individual
names
$montyPython = array(“TerryG”, “John”,
           “Michael”, “TerryJ”, “Eric”, “Graham”);

1 point for the group name, 1 point each for individual
names
Arrays




array keys start with 0
Arrays
 $myPets = array(“Maya”, “Cloe”, “August”);

 echo $myPets[0];




array keys start with 0
Maya



 Arrays
 $myPets = array(“Maya”, “Cloe”, “August”);

 echo $myPets[0];




array keys start with 0
Foreach is your friend
$myPets = array(“Maya”, “Cloe”, “August”);

foreach ($myPets as $pet) {
  echo $pet;
  echo “<br />”;
}
// $pet is a variable you create
Maya
                  Cloe
                  August


Foreach is your friend
$myPets = array(“Maya”, “Cloe”, “August”);

foreach ($myPets as $pet) {
  echo $pet;
  echo “<br />”;
}
// $pet is a variable you create
Keys and Values
 $actor = array(
   ‘name’ => “John Cleese”,
   ‘nickname’ => “Bruce”,
   ‘job’ => “Minister of Silly Walks”,
 );
 echo $actor[‘nickname’];

this is very common in Drupal coding
Bruce



 Keys and Values
 $actor = array(
   ‘name’ => “John Cleese”,
   ‘nickname’ => “Bruce”,
   ‘job’ => “Minister of Silly Walks”,
 );
 echo $actor[‘nickname’];

this is very common in Drupal coding
<?php

 /**
  * About Me
  */

 $name = “Your Name Here”;


 $yourList = array(“Thing1”, “Thing2”, “Thing3”);

 ?>

Write your own version!
<?php

 /**
  * About Me                    add some
  */                             variables

 $name = “Your Name Here”;


 $yourList = array(“Thing1”, “Thing2”, “Thing3”);

 ?>

Write your own version!
<?php

 /**
  * About Me                             add some
  */                                      variables

 $name = “Your Name Here”;


 $yourList = array(“Thing1”, “Thing2”, “Thing3”);
                          add an array
 ?>

Write your own version!
TRUE || FALSE




Bonus point if you shout “Janeway!”
TRUE || FALSE




Bonus point if you shout “Janeway!”
TRUE || FALSE




Bonus point if you shout “Janeway!”
TRUE || FALSE




                                         TRUE



Bonus point if you shout “Janeway!”
Symbols to Know




More: http://www.w3schools.com/PHP/php_operators.asp
Symbols to Know
 • Assignment: =




More: http://www.w3schools.com/PHP/php_operators.asp
Symbols to Know
 • Assignment: =
 • AND: &&




More: http://www.w3schools.com/PHP/php_operators.asp
Symbols to Know
 • Assignment: =
 • AND: &&
 • OR: ||



More: http://www.w3schools.com/PHP/php_operators.asp
Symbols to Know
 • Assignment: =
 • AND: &&
 • OR: ||
 • Greater and Less Than: > <


More: http://www.w3schools.com/PHP/php_operators.asp
Symbols to Know
 • Assignment: =
 • AND: &&
 • OR: ||
 • Greater and Less Than: > <
 • Is Equal To: ==

More: http://www.w3schools.com/PHP/php_operators.asp
Let’s Talk Boolean
Let’s Talk Boolean
• My name is Diana
Let’s Talk Boolean
• My name is Diana
• My name is Diana && I own a motorcycle
Let’s Talk Boolean
• My name is Diana
• My name is Diana && I own a motorcycle
• My name Diana || I am younger than 29
Let’s Talk Boolean
• My name is Diana
• My name is Diana && I own a motorcycle
• My name Diana || I am younger than 29
• (My name is Diana || I am younger than 29) && I
own a motorcycle
$myMotorcycle = “BMW F650GS”;
Conditionals are Control
if ($captain == “Picard”) {
  echo “Make it so, Number One.”;
} elseif ($captain == “Kirk”) {
  echo “Two to beam up.”;
} else {
  echo “Please state the nature of your medical
emergency.”;
}
<?php

 /**
  * Boolean Example
  */

 $captain = “Janeway”;

 if ($captain == “Picard”) {
   echo “Make it so, Number One.”;
 } elseif ($captain == “Kirk”) {
   echo “Two to beam up.”;
 } else {
   echo “Please state the nature of your medical emergency.”;

 ?>


There is an MSS issue in this code, can you find it? Hint: }
<?php                                            Please state the nature of your medical
                                                  emergency.
 /**
  * Boolean Example
  */

 $captain = “Janeway”;

 if ($captain == “Picard”) {
   echo “Make it so, Number One.”;
 } elseif ($captain == “Kirk”) {
   echo “Two to beam up.”;
 } else {
   echo “Please state the nature of your medical emergency.”;

 ?>


There is an MSS issue in this code, can you find it? Hint: }
<?php                                            Please state the nature of your medical
                                                  emergency.
 /**
  * Boolean Example
  */

 $captain = “Janeway”;                           MSS ALERT!
 if ($captain == “Picard”) {
   echo “Make it so, Number One.”;
 } elseif ($captain == “Kirk”) {
   echo “Two to beam up.”;
 } else {
   echo “Please state the nature of your medical emergency.”;

 ?>


There is an MSS issue in this code, can you find it? Hint: }
<?php

 /**
  * About Me
  */

 $name = “Your Name Here”;

 $yourList = array(“Thing1”, “Thing2”, “Thing3”);

 if (variable == something && variable == something) {
 
 print “A clever sentence”;
 }

 ?>

Write your own version!
<?php

 /**
  * About Me
  */
                                         variables
 $name = “Your Name Here”;

 $yourList = array(“Thing1”, “Thing2”, “Thing3”);

 if (variable == something && variable == something) {
 
 print “A clever sentence”;
 }

 ?>

Write your own version!
<?php

 /**
  * About Me
  */
                                         variables
 $name = “Your Name Here”;

 $yourList = array(“Thing1”, “Thing2”, “Thing3”);

 if (variable == something && variable == something) {
 
 print “A clever sentence”;
 }
                                add a conditional
 ?>

Write your own version!
A bonus point if you’ve read the book && seen the movie
Hello. My name is Inigo Montoya.
                 You killed my father. Prepare to
                 die.


A bonus point if you’ve read the book && seen the movie
Functions
 Functions encapsulate code that does a specific task.
 The function can be called whenever the task needs
 to be performed.




Tutorial: http://www.tizag.com/phpT/phpfunctions.php
// call the function to count the fingers
$killHim = isSixFingeredMan($numFingers);

if ($killHim) {
   echo “Hello. My name is Inigo Montoya. You killed my
   father. Prepare to die.”;
}

/**
 * Returns true if number of fingers is 6
 */
function isSixFingeredMan($numFingers) {
  if ($numFingers == 6) {
    return TRUE;
  } else {
    return FALSE;
  }
}
// call the function to count the fingers
$killHim = isSixFingeredMan($numFingers);
                                             call
if ($killHim) {
   echo “Hello. My name is Inigo Montoya. You killed my
   father. Prepare to die.”;
}

/**
 * Returns true if number of fingers is 6
 */
function isSixFingeredMan($numFingers) {
  if ($numFingers == 6) {
    return TRUE;
  } else {
    return FALSE;
  }
}
// call the function to count the fingers
$killHim = isSixFingeredMan($numFingers);
                                                call
if ($killHim) {
   echo “Hello. My name is Inigo Montoya. You killed my
   father. Prepare to die.”;
}

/**
 * Returns true if number of fingers is 6
 */
function isSixFingeredMan($numFingers) {
  if ($numFingers == 6) {
    return TRUE;
  } else {                           function
    return FALSE;
  }
}
// call the function to count the fingers
$killHim = isSixFingeredMan($numFingers);
                                                call
if ($killHim) {
   echo “Hello. My name is Inigo Montoya. You killed my
   father. Prepare to die.”;
}                                     continue on
/**
 * Returns true if number of fingers is 6
 */
function isSixFingeredMan($numFingers) {
  if ($numFingers == 6) {
    return TRUE;
  } else {                           function
    return FALSE;
  }
}
Function Facts
Function Facts
• include the word “function”
Function Facts
• include the word “function”
• should be aptly named
Function Facts
• include the word “function”
• should be aptly named
• can accept one or more parameters
Function Facts
• include the word “function”
• should be aptly named
• can accept one or more parameters
• can return something
Function Facts
• include the word “function”
• should be aptly named
• can accept one or more parameters
• can return something
• should be used for repeated tasks and to organize
logic
Function Facts
• include the word “function”
• should be aptly named
• can accept one or more parameters
• can return something
• should be used for repeated tasks and to organize
logic
• can be public or private
<?php

 /**
  * Function Fun
  */

 $yourVariable = “Something”;
 $returnedVariable = NULL;

 $returnedVariable = yourFunction($yourVariable);
 echo $returnedVariable;

 public function yourFunction($yourVariable) {
 
 $greeting = “Here’s a sentence containing “. $yourVariable;
 
 return $greeting;
 }

 ?>


Write your own version!
<?php

 /**
  * Function Fun
  */

 $yourVariable = “Something”;                  define a variable
 $returnedVariable = NULL;

 $returnedVariable = yourFunction($yourVariable);
 echo $returnedVariable;

 public function yourFunction($yourVariable) {
 
 $greeting = “Here’s a sentence containing “. $yourVariable;
 
 return $greeting;
 }

 ?>


Write your own version!
<?php

 /**
  * Function Fun
  */

 $yourVariable = “Something”;                  define a variable
 $returnedVariable = NULL;

 $returnedVariable = yourFunction($yourVariable);
 echo $returnedVariable;
                                                    call your function
 public function yourFunction($yourVariable) {
 
 $greeting = “Here’s a sentence containing “. $yourVariable;
 
 return $greeting;
 }

 ?>


Write your own version!
<?php

 /**
  * Function Fun
  */

 $yourVariable = “Something”;                  define a variable
 $returnedVariable = NULL;

 $returnedVariable = yourFunction($yourVariable);
 echo $returnedVariable;
                                                    call your function
 public function yourFunction($yourVariable) {
 
 $greeting = “Here’s a sentence containing “. $yourVariable;
 
 return $greeting;
 }
                                       add a function
 ?>


Write your own version!
<?php

 /**
  * Function Fun
  */

 $yourVariable = “Something”;                  define a variable
 $returnedVariable = NULL;

 $returnedVariable = yourFunction($yourVariable);
 echo $returnedVariable;

 public function yourFunction($yourVariable) {
 
 $greeting = “Here’s a sentence containing “. $yourVariable;
 
 return $greeting;
 }
                                       add a function
 ?>


Write your own version!
<?php

 /**
  * Function Fun
  */

 $yourVariable = “Something”;                  define a variable
 $returnedVariable = NULL;

 $returnedVariable = yourFunction($yourVariable);
 echo $returnedVariable;
                                                        continue on
 public function yourFunction($yourVariable) {
 
 $greeting = “Here’s a sentence containing “. $yourVariable;
 
 return $greeting;
 }
                                       add a function
 ?>


Write your own version!
<?php                    Here’s a sentence containing Something.
 /**
  * Function Fun
  */

 $yourVariable = “Something”;                    define a variable
 $returnedVariable = NULL;

 $returnedVariable = yourFunction($yourVariable);
 echo $returnedVariable;
                                                         continue on
 public function yourFunction($yourVariable) {
 
 $greeting = “Here’s a sentence containing “. $yourVariable;
 
 return $greeting;
 }
                                        add a function
 ?>


Write your own version!
What does he do for a living?




Score one point for each title you can name
Diana’s Rule #4




Practice makes a programmer.
Diana’s Rule #4
 Read and dissect (good) code.




Practice makes a programmer.
Diana’s Rule #5




http://drupal.org/node/287350
Diana’s Rule #5
 Follow best practices.

 Like the rules of the road, best practices prevent
 (coding) accidents. They also make you a likable
 person.




http://drupal.org/node/287350
Browser Points




Modern Browsers Only!
Browser Points
 • +10: Firefox && (Chrome || Opera)




Modern Browsers Only!
Browser Points
 • +10: Firefox && (Chrome || Opera)
 • +8: Firefox && (IE 7 || IE 8 || Safari)




Modern Browsers Only!
Browser Points
 • +10: Firefox && (Chrome || Opera)
 • +8: Firefox && (IE 7 || IE 8 || Safari)
 • +5: Firefox




Modern Browsers Only!
Browser Points
 • +10: Firefox && (Chrome || Opera)
 • +8: Firefox && (IE 7 || IE 8 || Safari)
 • +5: Firefox
 • +3: IE 7 || IE 8




Modern Browsers Only!
Browser Points
 • +10: Firefox && (Chrome || Opera)
 • +8: Firefox && (IE 7 || IE 8 || Safari)
 • +5: Firefox
 • +3: IE 7 || IE 8
 • +1: Safari



Modern Browsers Only!
Browser Points
 • +10: Firefox && (Chrome || Opera)
 • +8: Firefox && (IE 7 || IE 8 || Safari)
 • +5: Firefox
 • +3: IE 7 || IE 8
 • +1: Safari
 • -3,890,745: IE 6


Modern Browsers Only!
Diana’s Five Rules
 1.   Constantly self educate.
 2.   Write code.
 3.   Accept Missing Semicolon Syndrome gracefully.
 4.   Read and dissect (good) code.
 5.   Follow best practices.




diana@fourkitchens.com
Take the Survey
http://sf2010.drupal.org/conference/schedule

Weitere ähnliche Inhalte

Was ist angesagt?

Ruby on Rails Presentation
Ruby on Rails PresentationRuby on Rails Presentation
Ruby on Rails Presentationadamcookeuk
 
Django O/R Mapper
Django O/R MapperDjango O/R Mapper
Django O/R MapperIan Lewis
 
Best practices in museum search
 Best practices in museum search Best practices in museum search
Best practices in museum searchNate Solas
 
Code Fast, Die Young, Throw Structured Exceptions
Code Fast, Die Young, Throw Structured ExceptionsCode Fast, Die Young, Throw Structured Exceptions
Code Fast, Die Young, Throw Structured ExceptionsJohn Anderson
 
Cowboy development with Django
Cowboy development with DjangoCowboy development with Django
Cowboy development with DjangoSimon Willison
 
You Don't Know Query - WordCamp Portland 2011
You Don't Know Query - WordCamp Portland 2011You Don't Know Query - WordCamp Portland 2011
You Don't Know Query - WordCamp Portland 2011andrewnacin
 
Mashup University 4: Intro To Mashups
Mashup University 4: Intro To MashupsMashup University 4: Intro To Mashups
Mashup University 4: Intro To MashupsJohn Herren
 
Task 1
Task 1Task 1
Task 1EdiPHP
 
Building Things Fast - and getting approval
Building Things Fast - and getting approvalBuilding Things Fast - and getting approval
Building Things Fast - and getting approvalSimon Willison
 

Was ist angesagt? (10)

Ruby
RubyRuby
Ruby
 
Ruby on Rails Presentation
Ruby on Rails PresentationRuby on Rails Presentation
Ruby on Rails Presentation
 
Django O/R Mapper
Django O/R MapperDjango O/R Mapper
Django O/R Mapper
 
Best practices in museum search
 Best practices in museum search Best practices in museum search
Best practices in museum search
 
Code Fast, Die Young, Throw Structured Exceptions
Code Fast, Die Young, Throw Structured ExceptionsCode Fast, Die Young, Throw Structured Exceptions
Code Fast, Die Young, Throw Structured Exceptions
 
Cowboy development with Django
Cowboy development with DjangoCowboy development with Django
Cowboy development with Django
 
You Don't Know Query - WordCamp Portland 2011
You Don't Know Query - WordCamp Portland 2011You Don't Know Query - WordCamp Portland 2011
You Don't Know Query - WordCamp Portland 2011
 
Mashup University 4: Intro To Mashups
Mashup University 4: Intro To MashupsMashup University 4: Intro To Mashups
Mashup University 4: Intro To Mashups
 
Task 1
Task 1Task 1
Task 1
 
Building Things Fast - and getting approval
Building Things Fast - and getting approvalBuilding Things Fast - and getting approval
Building Things Fast - and getting approval
 

Andere mochten auch

Don't Design Websites. Design Web SYSTEMS! (DrupalCon Chicago 2011)
Don't Design Websites. Design Web SYSTEMS! (DrupalCon Chicago 2011)Don't Design Websites. Design Web SYSTEMS! (DrupalCon Chicago 2011)
Don't Design Websites. Design Web SYSTEMS! (DrupalCon Chicago 2011)Four Kitchens
 
Big Websites for Small Screens: ICANN.org Case Study
Big Websites for Small Screens: ICANN.org Case StudyBig Websites for Small Screens: ICANN.org Case Study
Big Websites for Small Screens: ICANN.org Case StudyFour Kitchens
 
Don't Design Websites. Design Web SYSTEMS! (DrupalCamp LA 2011)
Don't Design Websites. Design Web SYSTEMS! (DrupalCamp LA 2011)Don't Design Websites. Design Web SYSTEMS! (DrupalCamp LA 2011)
Don't Design Websites. Design Web SYSTEMS! (DrupalCamp LA 2011)Four Kitchens
 
Four Kitchens: We make BIG websites
Four Kitchens: We make BIG websitesFour Kitchens: We make BIG websites
Four Kitchens: We make BIG websitesFour Kitchens
 
Scalable Drupal infrastructure
Scalable Drupal infrastructureScalable Drupal infrastructure
Scalable Drupal infrastructureFour Kitchens
 
Foucault%20y%20 senett[1]
Foucault%20y%20 senett[1]Foucault%20y%20 senett[1]
Foucault%20y%20 senett[1]Carlos Muñoz
 
Horswell x maría josé villanueva
Horswell x maría josé villanuevaHorswell x maría josé villanueva
Horswell x maría josé villanuevaCarlos Muñoz
 
3 zizek multiculturalismo o la lógica cultural del capitalismo multinacional
3 zizek  multiculturalismo o la lógica cultural del capitalismo multinacional3 zizek  multiculturalismo o la lógica cultural del capitalismo multinacional
3 zizek multiculturalismo o la lógica cultural del capitalismo multinacionalCarlos Muñoz
 
Accelerated grid theming using NineSixty (DrupalCamp Dallas)
Accelerated grid theming using NineSixty (DrupalCamp Dallas)Accelerated grid theming using NineSixty (DrupalCamp Dallas)
Accelerated grid theming using NineSixty (DrupalCamp Dallas)Four Kitchens
 
Accelerated grid theming using NineSixty (Drupal Design Camp Boston 2009)
Accelerated grid theming using NineSixty (Drupal Design Camp Boston 2009)Accelerated grid theming using NineSixty (Drupal Design Camp Boston 2009)
Accelerated grid theming using NineSixty (Drupal Design Camp Boston 2009)Four Kitchens
 
UX design for every screen
UX design for every screenUX design for every screen
UX design for every screenFour Kitchens
 
Four Kitchens Presents: Future of the CMS
Four Kitchens Presents: Future of the CMSFour Kitchens Presents: Future of the CMS
Four Kitchens Presents: Future of the CMSFour Kitchens
 
PowerPoint et mon cours - 5 règles pour une présentation efficace
PowerPoint et mon cours - 5 règles pour une présentation efficacePowerPoint et mon cours - 5 règles pour une présentation efficace
PowerPoint et mon cours - 5 règles pour une présentation efficaceGROLLEAU Anne-Céline
 
Les réseaux sociaux dans votre stratégie de contenu en 10 questions
Les réseaux sociaux dans votre stratégie de contenu en 10 questionsLes réseaux sociaux dans votre stratégie de contenu en 10 questions
Les réseaux sociaux dans votre stratégie de contenu en 10 questionsKiss The Bride
 

Andere mochten auch (20)

Don't Design Websites. Design Web SYSTEMS! (DrupalCon Chicago 2011)
Don't Design Websites. Design Web SYSTEMS! (DrupalCon Chicago 2011)Don't Design Websites. Design Web SYSTEMS! (DrupalCon Chicago 2011)
Don't Design Websites. Design Web SYSTEMS! (DrupalCon Chicago 2011)
 
Intro to Drush
Intro to DrushIntro to Drush
Intro to Drush
 
Big Websites for Small Screens: ICANN.org Case Study
Big Websites for Small Screens: ICANN.org Case StudyBig Websites for Small Screens: ICANN.org Case Study
Big Websites for Small Screens: ICANN.org Case Study
 
Don't Design Websites. Design Web SYSTEMS! (DrupalCamp LA 2011)
Don't Design Websites. Design Web SYSTEMS! (DrupalCamp LA 2011)Don't Design Websites. Design Web SYSTEMS! (DrupalCamp LA 2011)
Don't Design Websites. Design Web SYSTEMS! (DrupalCamp LA 2011)
 
Teaching Drupal
Teaching DrupalTeaching Drupal
Teaching Drupal
 
Clase parker
Clase parkerClase parker
Clase parker
 
Four Kitchens: We make BIG websites
Four Kitchens: We make BIG websitesFour Kitchens: We make BIG websites
Four Kitchens: We make BIG websites
 
Scalable Drupal infrastructure
Scalable Drupal infrastructureScalable Drupal infrastructure
Scalable Drupal infrastructure
 
Foucault%20y%20 senett[1]
Foucault%20y%20 senett[1]Foucault%20y%20 senett[1]
Foucault%20y%20 senett[1]
 
Horswell x maría josé villanueva
Horswell x maría josé villanuevaHorswell x maría josé villanueva
Horswell x maría josé villanueva
 
9. Bell
9. Bell9. Bell
9. Bell
 
Big Websites
Big WebsitesBig Websites
Big Websites
 
Is Drupal secure?
Is Drupal secure?Is Drupal secure?
Is Drupal secure?
 
3 zizek multiculturalismo o la lógica cultural del capitalismo multinacional
3 zizek  multiculturalismo o la lógica cultural del capitalismo multinacional3 zizek  multiculturalismo o la lógica cultural del capitalismo multinacional
3 zizek multiculturalismo o la lógica cultural del capitalismo multinacional
 
Accelerated grid theming using NineSixty (DrupalCamp Dallas)
Accelerated grid theming using NineSixty (DrupalCamp Dallas)Accelerated grid theming using NineSixty (DrupalCamp Dallas)
Accelerated grid theming using NineSixty (DrupalCamp Dallas)
 
Accelerated grid theming using NineSixty (Drupal Design Camp Boston 2009)
Accelerated grid theming using NineSixty (Drupal Design Camp Boston 2009)Accelerated grid theming using NineSixty (Drupal Design Camp Boston 2009)
Accelerated grid theming using NineSixty (Drupal Design Camp Boston 2009)
 
UX design for every screen
UX design for every screenUX design for every screen
UX design for every screen
 
Four Kitchens Presents: Future of the CMS
Four Kitchens Presents: Future of the CMSFour Kitchens Presents: Future of the CMS
Four Kitchens Presents: Future of the CMS
 
PowerPoint et mon cours - 5 règles pour une présentation efficace
PowerPoint et mon cours - 5 règles pour une présentation efficacePowerPoint et mon cours - 5 règles pour une présentation efficace
PowerPoint et mon cours - 5 règles pour une présentation efficace
 
Les réseaux sociaux dans votre stratégie de contenu en 10 questions
Les réseaux sociaux dans votre stratégie de contenu en 10 questionsLes réseaux sociaux dans votre stratégie de contenu en 10 questions
Les réseaux sociaux dans votre stratégie de contenu en 10 questions
 

Ähnlich wie PHP for NonProgrammers (DrupalCon SF 2010)

Ähnlich wie PHP for NonProgrammers (DrupalCon SF 2010) (20)

Zend Certification Preparation Tutorial
Zend Certification Preparation TutorialZend Certification Preparation Tutorial
Zend Certification Preparation Tutorial
 
Php 102: Out with the Bad, In with the Good
Php 102: Out with the Bad, In with the GoodPhp 102: Out with the Bad, In with the Good
Php 102: Out with the Bad, In with the Good
 
Ppt php
Ppt phpPpt php
Ppt php
 
Php converted pdf
Php converted pdfPhp converted pdf
Php converted pdf
 
Intro to php
Intro to phpIntro to php
Intro to php
 
Php
PhpPhp
Php
 
Php introduction
Php introductionPhp introduction
Php introduction
 
Ch1(introduction to php)
Ch1(introduction to php)Ch1(introduction to php)
Ch1(introduction to php)
 
basic concept of php(Gunikhan sonowal)
basic concept of php(Gunikhan sonowal)basic concept of php(Gunikhan sonowal)
basic concept of php(Gunikhan sonowal)
 
Php Crash Course - Macq Electronique 2010
Php Crash Course - Macq Electronique 2010Php Crash Course - Macq Electronique 2010
Php Crash Course - Macq Electronique 2010
 
Unit-1 PHP Basic1 of the understanding of php.pptx
Unit-1 PHP Basic1 of the understanding of php.pptxUnit-1 PHP Basic1 of the understanding of php.pptx
Unit-1 PHP Basic1 of the understanding of php.pptx
 
MIND sweeping introduction to PHP
MIND sweeping introduction to PHPMIND sweeping introduction to PHP
MIND sweeping introduction to PHP
 
Php with mysql ppt
Php with mysql pptPhp with mysql ppt
Php with mysql ppt
 
PHP
PHPPHP
PHP
 
Writing Friendly libraries for CodeIgniter
Writing Friendly libraries for CodeIgniterWriting Friendly libraries for CodeIgniter
Writing Friendly libraries for CodeIgniter
 
Php Tutorial
Php TutorialPhp Tutorial
Php Tutorial
 
Phphacku iitd
Phphacku iitdPhphacku iitd
Phphacku iitd
 
PHP for hacks
PHP for hacksPHP for hacks
PHP for hacks
 
Php hacku
Php hackuPhp hacku
Php hacku
 
PHP Basic
PHP BasicPHP Basic
PHP Basic
 

Mehr von Four Kitchens

Don't Design Websites. Design Web SYSTEMS! (UT Austin Drupal Users Group)
Don't Design Websites. Design Web SYSTEMS! (UT Austin Drupal Users Group)Don't Design Websites. Design Web SYSTEMS! (UT Austin Drupal Users Group)
Don't Design Websites. Design Web SYSTEMS! (UT Austin Drupal Users Group)Four Kitchens
 
No RFPs! Why requests for proposal are bad for business (and how we can stop ...
No RFPs! Why requests for proposal are bad for business (and how we can stop ...No RFPs! Why requests for proposal are bad for business (and how we can stop ...
No RFPs! Why requests for proposal are bad for business (and how we can stop ...Four Kitchens
 
Don't Design Websites. Design Web SYSTEMS! (BADCamp 2011)
Don't Design Websites. Design Web SYSTEMS! (BADCamp 2011)Don't Design Websites. Design Web SYSTEMS! (BADCamp 2011)
Don't Design Websites. Design Web SYSTEMS! (BADCamp 2011)Four Kitchens
 
Don't Design Websites. Design Web SYSTEMS! (DrupalCon London 2011)
Don't Design Websites. Design Web SYSTEMS! (DrupalCon London 2011)Don't Design Websites. Design Web SYSTEMS! (DrupalCon London 2011)
Don't Design Websites. Design Web SYSTEMS! (DrupalCon London 2011)Four Kitchens
 
Accelerated grid theming using NineSixty (DrupalCamp LA 2011)
Accelerated grid theming using NineSixty (DrupalCamp LA 2011)Accelerated grid theming using NineSixty (DrupalCamp LA 2011)
Accelerated grid theming using NineSixty (DrupalCamp LA 2011)Four Kitchens
 
Don't Design Websites. Design Web SYSTEMS! (Dallas Drupal Days 2011)
Don't Design Websites. Design Web SYSTEMS! (Dallas Drupal Days 2011)Don't Design Websites. Design Web SYSTEMS! (Dallas Drupal Days 2011)
Don't Design Websites. Design Web SYSTEMS! (Dallas Drupal Days 2011)Four Kitchens
 
Building Responsive Websites and Apps with Drupal
Building Responsive Websites and Apps with DrupalBuilding Responsive Websites and Apps with Drupal
Building Responsive Websites and Apps with DrupalFour Kitchens
 
Accelerated grid theming using NineSixty (Dallas Drupal Days 2011)
Accelerated grid theming using NineSixty (Dallas Drupal Days 2011)Accelerated grid theming using NineSixty (Dallas Drupal Days 2011)
Accelerated grid theming using NineSixty (Dallas Drupal Days 2011)Four Kitchens
 
Designing future proof websites
Designing future proof websitesDesigning future proof websites
Designing future proof websitesFour Kitchens
 
Making drupal beautiful with web fonts
Making drupal beautiful with web fontsMaking drupal beautiful with web fonts
Making drupal beautiful with web fontsFour Kitchens
 
The type revolutionary's cookbook
The type revolutionary's cookbookThe type revolutionary's cookbook
The type revolutionary's cookbookFour Kitchens
 
The Web Chef Cookbook
The Web Chef CookbookThe Web Chef Cookbook
The Web Chef CookbookFour Kitchens
 
Don't Design Websites. Design Web SYSTEMS! (DrupalCamp Stockholm 2011)
Don't Design Websites. Design Web SYSTEMS! (DrupalCamp Stockholm 2011)Don't Design Websites. Design Web SYSTEMS! (DrupalCamp Stockholm 2011)
Don't Design Websites. Design Web SYSTEMS! (DrupalCamp Stockholm 2011)Four Kitchens
 
Don't Design Websites. Design Web SYSTEMS! (DrupalCon Copenhagen 2010)
Don't Design Websites. Design Web SYSTEMS! (DrupalCon Copenhagen 2010)Don't Design Websites. Design Web SYSTEMS! (DrupalCon Copenhagen 2010)
Don't Design Websites. Design Web SYSTEMS! (DrupalCon Copenhagen 2010)Four Kitchens
 
The state of web typography
The state of web typographyThe state of web typography
The state of web typographyFour Kitchens
 
Accelerated grid theming using NineSixty (Drupal Design Camp Boston 2010)
Accelerated grid theming using NineSixty (Drupal Design Camp Boston 2010)Accelerated grid theming using NineSixty (Drupal Design Camp Boston 2010)
Accelerated grid theming using NineSixty (Drupal Design Camp Boston 2010)Four Kitchens
 
From Photoshop to Drupal Theme (DrupalCon San Francisco 2010)
From Photoshop to Drupal Theme (DrupalCon San Francisco 2010)From Photoshop to Drupal Theme (DrupalCon San Francisco 2010)
From Photoshop to Drupal Theme (DrupalCon San Francisco 2010)Four Kitchens
 
Accelerated grid theming using NineSixty (DrupalCon San Francisco 2010)
Accelerated grid theming using NineSixty (DrupalCon San Francisco 2010)Accelerated grid theming using NineSixty (DrupalCon San Francisco 2010)
Accelerated grid theming using NineSixty (DrupalCon San Francisco 2010)Four Kitchens
 
Drupal theming using the 960.gs grid system
Drupal theming using the 960.gs grid systemDrupal theming using the 960.gs grid system
Drupal theming using the 960.gs grid systemFour Kitchens
 

Mehr von Four Kitchens (19)

Don't Design Websites. Design Web SYSTEMS! (UT Austin Drupal Users Group)
Don't Design Websites. Design Web SYSTEMS! (UT Austin Drupal Users Group)Don't Design Websites. Design Web SYSTEMS! (UT Austin Drupal Users Group)
Don't Design Websites. Design Web SYSTEMS! (UT Austin Drupal Users Group)
 
No RFPs! Why requests for proposal are bad for business (and how we can stop ...
No RFPs! Why requests for proposal are bad for business (and how we can stop ...No RFPs! Why requests for proposal are bad for business (and how we can stop ...
No RFPs! Why requests for proposal are bad for business (and how we can stop ...
 
Don't Design Websites. Design Web SYSTEMS! (BADCamp 2011)
Don't Design Websites. Design Web SYSTEMS! (BADCamp 2011)Don't Design Websites. Design Web SYSTEMS! (BADCamp 2011)
Don't Design Websites. Design Web SYSTEMS! (BADCamp 2011)
 
Don't Design Websites. Design Web SYSTEMS! (DrupalCon London 2011)
Don't Design Websites. Design Web SYSTEMS! (DrupalCon London 2011)Don't Design Websites. Design Web SYSTEMS! (DrupalCon London 2011)
Don't Design Websites. Design Web SYSTEMS! (DrupalCon London 2011)
 
Accelerated grid theming using NineSixty (DrupalCamp LA 2011)
Accelerated grid theming using NineSixty (DrupalCamp LA 2011)Accelerated grid theming using NineSixty (DrupalCamp LA 2011)
Accelerated grid theming using NineSixty (DrupalCamp LA 2011)
 
Don't Design Websites. Design Web SYSTEMS! (Dallas Drupal Days 2011)
Don't Design Websites. Design Web SYSTEMS! (Dallas Drupal Days 2011)Don't Design Websites. Design Web SYSTEMS! (Dallas Drupal Days 2011)
Don't Design Websites. Design Web SYSTEMS! (Dallas Drupal Days 2011)
 
Building Responsive Websites and Apps with Drupal
Building Responsive Websites and Apps with DrupalBuilding Responsive Websites and Apps with Drupal
Building Responsive Websites and Apps with Drupal
 
Accelerated grid theming using NineSixty (Dallas Drupal Days 2011)
Accelerated grid theming using NineSixty (Dallas Drupal Days 2011)Accelerated grid theming using NineSixty (Dallas Drupal Days 2011)
Accelerated grid theming using NineSixty (Dallas Drupal Days 2011)
 
Designing future proof websites
Designing future proof websitesDesigning future proof websites
Designing future proof websites
 
Making drupal beautiful with web fonts
Making drupal beautiful with web fontsMaking drupal beautiful with web fonts
Making drupal beautiful with web fonts
 
The type revolutionary's cookbook
The type revolutionary's cookbookThe type revolutionary's cookbook
The type revolutionary's cookbook
 
The Web Chef Cookbook
The Web Chef CookbookThe Web Chef Cookbook
The Web Chef Cookbook
 
Don't Design Websites. Design Web SYSTEMS! (DrupalCamp Stockholm 2011)
Don't Design Websites. Design Web SYSTEMS! (DrupalCamp Stockholm 2011)Don't Design Websites. Design Web SYSTEMS! (DrupalCamp Stockholm 2011)
Don't Design Websites. Design Web SYSTEMS! (DrupalCamp Stockholm 2011)
 
Don't Design Websites. Design Web SYSTEMS! (DrupalCon Copenhagen 2010)
Don't Design Websites. Design Web SYSTEMS! (DrupalCon Copenhagen 2010)Don't Design Websites. Design Web SYSTEMS! (DrupalCon Copenhagen 2010)
Don't Design Websites. Design Web SYSTEMS! (DrupalCon Copenhagen 2010)
 
The state of web typography
The state of web typographyThe state of web typography
The state of web typography
 
Accelerated grid theming using NineSixty (Drupal Design Camp Boston 2010)
Accelerated grid theming using NineSixty (Drupal Design Camp Boston 2010)Accelerated grid theming using NineSixty (Drupal Design Camp Boston 2010)
Accelerated grid theming using NineSixty (Drupal Design Camp Boston 2010)
 
From Photoshop to Drupal Theme (DrupalCon San Francisco 2010)
From Photoshop to Drupal Theme (DrupalCon San Francisco 2010)From Photoshop to Drupal Theme (DrupalCon San Francisco 2010)
From Photoshop to Drupal Theme (DrupalCon San Francisco 2010)
 
Accelerated grid theming using NineSixty (DrupalCon San Francisco 2010)
Accelerated grid theming using NineSixty (DrupalCon San Francisco 2010)Accelerated grid theming using NineSixty (DrupalCon San Francisco 2010)
Accelerated grid theming using NineSixty (DrupalCon San Francisco 2010)
 
Drupal theming using the 960.gs grid system
Drupal theming using the 960.gs grid systemDrupal theming using the 960.gs grid system
Drupal theming using the 960.gs grid system
 

Kürzlich hochgeladen

Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 

Kürzlich hochgeladen (20)

Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 

PHP for NonProgrammers (DrupalCon SF 2010)

  • 1. Today’s Tools Write code: http://www.codepad.com Select PHP as the language! Ask questions: IRC: irc.freenode.net #php4np Twitter: php4np Robert Ristroph is here for you!
  • 2. PHP For NonProgrammers Programmer: One who writes computer programs. NonProgrammer: One who will write PHP code today while learning Diana’s Five Rules of Programming and earning geek points. DrupalCon San Francisco 2010
  • 3. You Win! Score more than 5 points during today’s presentation and win the Grand Prize Geek Award* (GPGA). * Four Kitchens’ stickers and the right to change your Facebook language to English(Pirate).
  • 4. <?php /** * About Me */ // also comments $name = “Diana Montalion Dupuis”; $fourKitchensWebChef = TRUE; $numPets = 3; $currBooks = array(“The World Without Us”, “Outliers”, “Brain Rules”, “Wolf Hall”); if ($notWorking == TRUE) { echo “I’m reading a book or watching football.”; } else { echo “I’m writing PHP code.”; } ?> Write your own version!
  • 5. <?php /** comments * About Me */ // also comments $name = “Diana Montalion Dupuis”; $fourKitchensWebChef = TRUE; $numPets = 3; $currBooks = array(“The World Without Us”, “Outliers”, “Brain Rules”, “Wolf Hall”); if ($notWorking == TRUE) { echo “I’m reading a book or watching football.”; } else { echo “I’m writing PHP code.”; } ?> Write your own version!
  • 6. <?php /** comments * About Me */ // also comments $name = “Diana Montalion Dupuis”; $fourKitchensWebChef = TRUE; variables $numPets = 3; $currBooks = array(“The World Without Us”, “Outliers”, “Brain Rules”, “Wolf Hall”); if ($notWorking == TRUE) { echo “I’m reading a book or watching football.”; } else { echo “I’m writing PHP code.”; } ?> Write your own version!
  • 7. <?php /** comments * About Me */ // also comments $name = “Diana Montalion Dupuis”; $fourKitchensWebChef = TRUE; variables $numPets = 3; $currBooks = array(“The World Without Us”, “Outliers”, “Brain Rules”, “Wolf Hall”); if ($notWorking == TRUE) { array echo “I’m reading a book or watching football.”; } else { echo “I’m writing PHP code.”; } ?> Write your own version!
  • 8. <?php /** comments * About Me */ // also comments $name = “Diana Montalion Dupuis”; $fourKitchensWebChef = TRUE; variables $numPets = 3; $currBooks = array(“The World Without Us”, “Outliers”, “Brain Rules”, “Wolf Hall”); if ($notWorking == TRUE) { array echo “I’m reading a book or watching football.”; } else { echo “I’m writing PHP code.”; conditional } ?> Write your own version!
  • 9. What does PHP mean? http://en.wikipedia.org/wiki/PHP
  • 10. What does PHP mean? Who cares?!? http://en.wikipedia.org/wiki/PHP
  • 11. What does PHP mean? Who cares?!? The question and answer that matter most are the http://en.wikipedia.org/wiki/PHP
  • 12. What does PHP mean? Who cares?!? The question and answer that matter most are the PHP: Hypertext Preprocessor is a widely used, general-purpose scripting language that was originally designed for web development to produce dynamic web pages. For this purpose, PHP code is embedded into the HTML source document and interpreted by a web server with a PHP processor module, which generates the web page document. As a general-purpose programming language, PHP code is processed by an interpreter application in command line mode performing desired operating system operations and producing program output on its standard output channel. It may also function as a graphical application. PHP is available as a processor for most modern web servers and as a standalone interpreter on most operating systems and computing platforms. http://en.wikipedia.org/wiki/PHP
  • 13. Diana’s Rule #1 Programming is asking the right questions and coming up with possible answers.
  • 14. Diana’s Rule #1 Self educate constantly. Your sixth-grade English teacher was right - if you don’t know, look it up. Find places to get help. Ignore whatever (or whomever) isn’t helpful. Programming is asking the right questions and coming up with possible answers.
  • 16. Are you a Mac || a PC? I’m a Mac.
  • 17. Good Places to Start
  • 18. Good Places to Start • W3Schools Tutorial: http://www.w3schools.com/PHP/
  • 19. Good Places to Start • W3Schools Tutorial: http://www.w3schools.com/PHP/ • HeadFirst Labs Book: http://headfirstlabs.com/books/ hfphp/
  • 20. Good Places to Start • W3Schools Tutorial: http://www.w3schools.com/PHP/ • HeadFirst Labs Book: http://headfirstlabs.com/books/ hfphp/ • PHP.net (and tutorial): http://php.net/manual/en/ tutorial.php
  • 21. Good Places to Start • W3Schools Tutorial: http://www.w3schools.com/PHP/ • HeadFirst Labs Book: http://headfirstlabs.com/books/ hfphp/ • PHP.net (and tutorial): http://php.net/manual/en/ tutorial.php • Pro Drupal Development Book: http:// www.drupalbook.com/
  • 22. Diana’s Rule #2 How do I get to Carnegie Hall?
  • 23. Diana’s Rule #2 Write code. How do I get to Carnegie Hall?
  • 24. Diana’s Rule #2 Write code. Writing code is the only thing that teaches you how to write code. How do I get to Carnegie Hall?
  • 25. Write Code! I recommend TextMate and Coda for Mac, EditPlus and Aptana for PCs
  • 26. Write Code! 1. Use Codepad or open Notepad (or any other simple text program). I recommend TextMate and Coda for Mac, EditPlus and Aptana for PCs
  • 27. Write Code! 1. Use Codepad or open Notepad (or any other simple text program). 2. Not Microsoft Word, never ever ever use Word. A piece of paper and a pen is fine too. I recommend TextMate and Coda for Mac, EditPlus and Aptana for PCs
  • 28. Write Code! 1. Use Codepad or open Notepad (or any other simple text program). 2. Not Microsoft Word, never ever ever use Word. A piece of paper and a pen is fine too. 2. Write this in the top left-hand corner: I recommend TextMate and Coda for Mac, EditPlus and Aptana for PCs
  • 29. Write Code! I recommend TextMate and Coda for Mac, EditPlus and Aptana for PCs
  • 30.
  • 31. <?php /** * About Me */ $name = “Your Name Here”; echo $name; ?>
  • 32. Bonus point if you’ve seen the movie more than 5 times.
  • 33. $name = “Trinity”; Bonus point if you’ve seen the movie more than 5 times.
  • 34. Diana’s Rule #3 “Stupid” mistakes are 85% of mistakes you’ll make.
  • 35. Diana’s Rule #3 You will suffer daily from the Missing Semicolon Syndrome (MSS). Forgetting the semicolon is the most common syntax error. PHP errors will break your site. Don’t panic! Just fix them. “Stupid” mistakes are 85% of mistakes you’ll make.
  • 37. Four PHP Concepts • Variables: containers for your stuff
  • 38. Four PHP Concepts • Variables: containers for your stuff • Arrays: a variable that is a list, or a list of lists
  • 39. Four PHP Concepts • Variables: containers for your stuff • Arrays: a variable that is a list, or a list of lists • Conditionals: the brains of your operation
  • 40. Four PHP Concepts • Variables: containers for your stuff • Arrays: a variable that is a list, or a list of lists • Conditionals: the brains of your operation • Functions: little blocks of “do stuff”
  • 42. Variables • begin with the ‘$’ symbol
  • 43. Variables • begin with the ‘$’ symbol • should be aptly named
  • 44. Variables • begin with the ‘$’ symbol • should be aptly named • come in 8 different flavors
  • 45. Variables • begin with the ‘$’ symbol • should be aptly named • come in 8 different flavors • are assigned a value using =
  • 46. 8 Types of Variables
  • 47. 8 Types of Variables • Boolean: $fourKitchensWebChef = TRUE;
  • 48. 8 Types of Variables • Boolean: $fourKitchensWebChef = TRUE; • Integer: $numPets = 3;
  • 49. 8 Types of Variables • Boolean: $fourKitchensWebChef = TRUE; • Integer: $numPets = 3; • Float: $pie = 3.1416;
  • 50. 8 Types of Variables • Boolean: $fourKitchensWebChef = TRUE; • Integer: $numPets = 3; • Float: $pie = 3.1416; • String: $hobbies = “I enjoy hiking.”;
  • 51. 8 Types of Variables • Boolean: $fourKitchensWebChef = TRUE; • Integer: $numPets = 3; • Float: $pie = 3.1416; • String: $hobbies = “I enjoy hiking.”; • Array: $currBooks = array(“The World Without Us”, “Outliers”, “Brain Rules”, “Wolf Hall”);
  • 53. And The Rest Variables we won’t discuss (much) today:
  • 54. And The Rest Variables we won’t discuss (much) today: • Object: $node->id
  • 55. And The Rest Variables we won’t discuss (much) today: • Object: $node->id • Resource: the database connection, for example
  • 56. And The Rest Variables we won’t discuss (much) today: • Object: $node->id • Resource: the database connection, for example • NULL
  • 57. 1 point for the group name, 1 point each for individual names
  • 58. $montyPython = array(“TerryG”, “John”, “Michael”, “TerryJ”, “Eric”, “Graham”); 1 point for the group name, 1 point each for individual names
  • 60. Arrays $myPets = array(“Maya”, “Cloe”, “August”); echo $myPets[0]; array keys start with 0
  • 61. Maya Arrays $myPets = array(“Maya”, “Cloe”, “August”); echo $myPets[0]; array keys start with 0
  • 62. Foreach is your friend $myPets = array(“Maya”, “Cloe”, “August”); foreach ($myPets as $pet) { echo $pet; echo “<br />”; } // $pet is a variable you create
  • 63. Maya Cloe August Foreach is your friend $myPets = array(“Maya”, “Cloe”, “August”); foreach ($myPets as $pet) { echo $pet; echo “<br />”; } // $pet is a variable you create
  • 64. Keys and Values $actor = array( ‘name’ => “John Cleese”, ‘nickname’ => “Bruce”, ‘job’ => “Minister of Silly Walks”, ); echo $actor[‘nickname’]; this is very common in Drupal coding
  • 65. Bruce Keys and Values $actor = array( ‘name’ => “John Cleese”, ‘nickname’ => “Bruce”, ‘job’ => “Minister of Silly Walks”, ); echo $actor[‘nickname’]; this is very common in Drupal coding
  • 66. <?php /** * About Me */ $name = “Your Name Here”; $yourList = array(“Thing1”, “Thing2”, “Thing3”); ?> Write your own version!
  • 67. <?php /** * About Me add some */ variables $name = “Your Name Here”; $yourList = array(“Thing1”, “Thing2”, “Thing3”); ?> Write your own version!
  • 68. <?php /** * About Me add some */ variables $name = “Your Name Here”; $yourList = array(“Thing1”, “Thing2”, “Thing3”); add an array ?> Write your own version!
  • 69. TRUE || FALSE Bonus point if you shout “Janeway!”
  • 70. TRUE || FALSE Bonus point if you shout “Janeway!”
  • 71. TRUE || FALSE Bonus point if you shout “Janeway!”
  • 72. TRUE || FALSE TRUE Bonus point if you shout “Janeway!”
  • 73. Symbols to Know More: http://www.w3schools.com/PHP/php_operators.asp
  • 74. Symbols to Know • Assignment: = More: http://www.w3schools.com/PHP/php_operators.asp
  • 75. Symbols to Know • Assignment: = • AND: && More: http://www.w3schools.com/PHP/php_operators.asp
  • 76. Symbols to Know • Assignment: = • AND: && • OR: || More: http://www.w3schools.com/PHP/php_operators.asp
  • 77. Symbols to Know • Assignment: = • AND: && • OR: || • Greater and Less Than: > < More: http://www.w3schools.com/PHP/php_operators.asp
  • 78. Symbols to Know • Assignment: = • AND: && • OR: || • Greater and Less Than: > < • Is Equal To: == More: http://www.w3schools.com/PHP/php_operators.asp
  • 80. Let’s Talk Boolean • My name is Diana
  • 81. Let’s Talk Boolean • My name is Diana • My name is Diana && I own a motorcycle
  • 82. Let’s Talk Boolean • My name is Diana • My name is Diana && I own a motorcycle • My name Diana || I am younger than 29
  • 83. Let’s Talk Boolean • My name is Diana • My name is Diana && I own a motorcycle • My name Diana || I am younger than 29 • (My name is Diana || I am younger than 29) && I own a motorcycle
  • 84.
  • 86. Conditionals are Control if ($captain == “Picard”) { echo “Make it so, Number One.”; } elseif ($captain == “Kirk”) { echo “Two to beam up.”; } else { echo “Please state the nature of your medical emergency.”; }
  • 87. <?php /** * Boolean Example */ $captain = “Janeway”; if ($captain == “Picard”) { echo “Make it so, Number One.”; } elseif ($captain == “Kirk”) { echo “Two to beam up.”; } else { echo “Please state the nature of your medical emergency.”; ?> There is an MSS issue in this code, can you find it? Hint: }
  • 88. <?php Please state the nature of your medical emergency. /** * Boolean Example */ $captain = “Janeway”; if ($captain == “Picard”) { echo “Make it so, Number One.”; } elseif ($captain == “Kirk”) { echo “Two to beam up.”; } else { echo “Please state the nature of your medical emergency.”; ?> There is an MSS issue in this code, can you find it? Hint: }
  • 89. <?php Please state the nature of your medical emergency. /** * Boolean Example */ $captain = “Janeway”; MSS ALERT! if ($captain == “Picard”) { echo “Make it so, Number One.”; } elseif ($captain == “Kirk”) { echo “Two to beam up.”; } else { echo “Please state the nature of your medical emergency.”; ?> There is an MSS issue in this code, can you find it? Hint: }
  • 90. <?php /** * About Me */ $name = “Your Name Here”; $yourList = array(“Thing1”, “Thing2”, “Thing3”); if (variable == something && variable == something) { print “A clever sentence”; } ?> Write your own version!
  • 91. <?php /** * About Me */ variables $name = “Your Name Here”; $yourList = array(“Thing1”, “Thing2”, “Thing3”); if (variable == something && variable == something) { print “A clever sentence”; } ?> Write your own version!
  • 92. <?php /** * About Me */ variables $name = “Your Name Here”; $yourList = array(“Thing1”, “Thing2”, “Thing3”); if (variable == something && variable == something) { print “A clever sentence”; } add a conditional ?> Write your own version!
  • 93. A bonus point if you’ve read the book && seen the movie
  • 94. Hello. My name is Inigo Montoya. You killed my father. Prepare to die. A bonus point if you’ve read the book && seen the movie
  • 95. Functions Functions encapsulate code that does a specific task. The function can be called whenever the task needs to be performed. Tutorial: http://www.tizag.com/phpT/phpfunctions.php
  • 96. // call the function to count the fingers $killHim = isSixFingeredMan($numFingers); if ($killHim) { echo “Hello. My name is Inigo Montoya. You killed my father. Prepare to die.”; } /** * Returns true if number of fingers is 6 */ function isSixFingeredMan($numFingers) { if ($numFingers == 6) { return TRUE; } else { return FALSE; } }
  • 97. // call the function to count the fingers $killHim = isSixFingeredMan($numFingers); call if ($killHim) { echo “Hello. My name is Inigo Montoya. You killed my father. Prepare to die.”; } /** * Returns true if number of fingers is 6 */ function isSixFingeredMan($numFingers) { if ($numFingers == 6) { return TRUE; } else { return FALSE; } }
  • 98. // call the function to count the fingers $killHim = isSixFingeredMan($numFingers); call if ($killHim) { echo “Hello. My name is Inigo Montoya. You killed my father. Prepare to die.”; } /** * Returns true if number of fingers is 6 */ function isSixFingeredMan($numFingers) { if ($numFingers == 6) { return TRUE; } else { function return FALSE; } }
  • 99. // call the function to count the fingers $killHim = isSixFingeredMan($numFingers); call if ($killHim) { echo “Hello. My name is Inigo Montoya. You killed my father. Prepare to die.”; } continue on /** * Returns true if number of fingers is 6 */ function isSixFingeredMan($numFingers) { if ($numFingers == 6) { return TRUE; } else { function return FALSE; } }
  • 101. Function Facts • include the word “function”
  • 102. Function Facts • include the word “function” • should be aptly named
  • 103. Function Facts • include the word “function” • should be aptly named • can accept one or more parameters
  • 104. Function Facts • include the word “function” • should be aptly named • can accept one or more parameters • can return something
  • 105. Function Facts • include the word “function” • should be aptly named • can accept one or more parameters • can return something • should be used for repeated tasks and to organize logic
  • 106. Function Facts • include the word “function” • should be aptly named • can accept one or more parameters • can return something • should be used for repeated tasks and to organize logic • can be public or private
  • 107. <?php /** * Function Fun */ $yourVariable = “Something”; $returnedVariable = NULL; $returnedVariable = yourFunction($yourVariable); echo $returnedVariable; public function yourFunction($yourVariable) { $greeting = “Here’s a sentence containing “. $yourVariable; return $greeting; } ?> Write your own version!
  • 108. <?php /** * Function Fun */ $yourVariable = “Something”; define a variable $returnedVariable = NULL; $returnedVariable = yourFunction($yourVariable); echo $returnedVariable; public function yourFunction($yourVariable) { $greeting = “Here’s a sentence containing “. $yourVariable; return $greeting; } ?> Write your own version!
  • 109. <?php /** * Function Fun */ $yourVariable = “Something”; define a variable $returnedVariable = NULL; $returnedVariable = yourFunction($yourVariable); echo $returnedVariable; call your function public function yourFunction($yourVariable) { $greeting = “Here’s a sentence containing “. $yourVariable; return $greeting; } ?> Write your own version!
  • 110. <?php /** * Function Fun */ $yourVariable = “Something”; define a variable $returnedVariable = NULL; $returnedVariable = yourFunction($yourVariable); echo $returnedVariable; call your function public function yourFunction($yourVariable) { $greeting = “Here’s a sentence containing “. $yourVariable; return $greeting; } add a function ?> Write your own version!
  • 111. <?php /** * Function Fun */ $yourVariable = “Something”; define a variable $returnedVariable = NULL; $returnedVariable = yourFunction($yourVariable); echo $returnedVariable; public function yourFunction($yourVariable) { $greeting = “Here’s a sentence containing “. $yourVariable; return $greeting; } add a function ?> Write your own version!
  • 112. <?php /** * Function Fun */ $yourVariable = “Something”; define a variable $returnedVariable = NULL; $returnedVariable = yourFunction($yourVariable); echo $returnedVariable; continue on public function yourFunction($yourVariable) { $greeting = “Here’s a sentence containing “. $yourVariable; return $greeting; } add a function ?> Write your own version!
  • 113. <?php Here’s a sentence containing Something. /** * Function Fun */ $yourVariable = “Something”; define a variable $returnedVariable = NULL; $returnedVariable = yourFunction($yourVariable); echo $returnedVariable; continue on public function yourFunction($yourVariable) { $greeting = “Here’s a sentence containing “. $yourVariable; return $greeting; } add a function ?> Write your own version!
  • 114. What does he do for a living? Score one point for each title you can name
  • 115. Diana’s Rule #4 Practice makes a programmer.
  • 116. Diana’s Rule #4 Read and dissect (good) code. Practice makes a programmer.
  • 118. Diana’s Rule #5 Follow best practices. Like the rules of the road, best practices prevent (coding) accidents. They also make you a likable person. http://drupal.org/node/287350
  • 120. Browser Points • +10: Firefox && (Chrome || Opera) Modern Browsers Only!
  • 121. Browser Points • +10: Firefox && (Chrome || Opera) • +8: Firefox && (IE 7 || IE 8 || Safari) Modern Browsers Only!
  • 122. Browser Points • +10: Firefox && (Chrome || Opera) • +8: Firefox && (IE 7 || IE 8 || Safari) • +5: Firefox Modern Browsers Only!
  • 123. Browser Points • +10: Firefox && (Chrome || Opera) • +8: Firefox && (IE 7 || IE 8 || Safari) • +5: Firefox • +3: IE 7 || IE 8 Modern Browsers Only!
  • 124. Browser Points • +10: Firefox && (Chrome || Opera) • +8: Firefox && (IE 7 || IE 8 || Safari) • +5: Firefox • +3: IE 7 || IE 8 • +1: Safari Modern Browsers Only!
  • 125. Browser Points • +10: Firefox && (Chrome || Opera) • +8: Firefox && (IE 7 || IE 8 || Safari) • +5: Firefox • +3: IE 7 || IE 8 • +1: Safari • -3,890,745: IE 6 Modern Browsers Only!
  • 126. Diana’s Five Rules 1. Constantly self educate. 2. Write code. 3. Accept Missing Semicolon Syndrome gracefully. 4. Read and dissect (good) code. 5. Follow best practices. diana@fourkitchens.com

Hinweis der Redaktion