diff --git a/things-to-know-php/README.rst b/things-to-know-php/README.rst new file mode 100644 index 0000000..c7a72cb --- /dev/null +++ b/things-to-know-php/README.rst @@ -0,0 +1,4 @@ +Building and presenting slide decks with rst2pdf +################################################ + +https://www.oliverdavies.uk/talks/building-presenting-slide-decks-rst2pdf diff --git a/things-to-know-php/code/building.txt b/things-to-know-php/code/building.txt new file mode 100644 index 0000000..b5d6d61 --- /dev/null +++ b/things-to-know-php/code/building.txt @@ -0,0 +1,12 @@ +rst2pdf slides.rst + + +rst2pdf slides.rst --break-level 1 --stylesheets main + + +rst2pdf slides.rst \ + --output slides.pdf \ + --stylesheets main \ + --break-level 1 \ + --fit-background-mode scale \ + --extension-module preprocess \ No newline at end of file diff --git a/things-to-know-php/code/includes-code.txt b/things-to-know-php/code/includes-code.txt new file mode 100644 index 0000000..3fe9f72 --- /dev/null +++ b/things-to-know-php/code/includes-code.txt @@ -0,0 +1,4 @@ +.. code-block:: javascript + :include: code/additional-config-options.txt + :hl_lines: 2 3 4 + :linenos: diff --git a/things-to-know-php/code/includes-sections.txt b/things-to-know-php/code/includes-sections.txt new file mode 100644 index 0000000..8ea82ab --- /dev/null +++ b/things-to-know-php/code/includes-sections.txt @@ -0,0 +1 @@ +.. include:: sections/intro.rst diff --git a/things-to-know-php/code/page-templates-rst.txt b/things-to-know-php/code/page-templates-rst.txt new file mode 100644 index 0000000..16895b3 --- /dev/null +++ b/things-to-know-php/code/page-templates-rst.txt @@ -0,0 +1,3 @@ +.. raw:: pdf + + PageBreak standardPage diff --git a/things-to-know-php/code/page-templates-style.txt b/things-to-know-php/code/page-templates-style.txt new file mode 100644 index 0000000..75e2771 --- /dev/null +++ b/things-to-know-php/code/page-templates-style.txt @@ -0,0 +1,6 @@ +pageTemplates: + standardPage: + frames: [] + [3%, 3%, 92%, 92%] + showFooter: true + showHeader: false diff --git a/things-to-know-php/code/styling.txt b/things-to-know-php/code/styling.txt new file mode 100644 index 0000000..e9c77e2 --- /dev/null +++ b/things-to-know-php/code/styling.txt @@ -0,0 +1,29 @@ +linkColor: #24608a + +styles: + normal: + fontSize: 24 + leading: 32 + textColor: #383745 + + bodytext: + alignment: TA_LEFT + + heading: + fontSize: 20 + spaceAfter: 16 + textColor: #24608a + + title: + fontSize: 300% + parent: heading + textColor: white + + bullet-list: + commands: [] + [LEFTPADDING, [0, 0], [1, -1], 10] + [RIGHTPADDING, [0, 0], [1, -1], 0] + [VALIGN, [0, 0], [-1, -1], TOP] + colWidths: ["20", null] + textColor: #aaaaaa + diff --git a/things-to-know-php/code/useful-rst-1.txt b/things-to-know-php/code/useful-rst-1.txt new file mode 100644 index 0000000..e634b96 --- /dev/null +++ b/things-to-know-php/code/useful-rst-1.txt @@ -0,0 +1,14 @@ +Building and presenting slide decks with rst2pdf +################################################ + +.. class:: titleslideinfo + +Oliver Davies (@opdavies) + + +What is rst2pdf? +================ + +* "Use a text editor. Make a PDF." +* reStructuredText to PDF +* Each slide is a page diff --git a/things-to-know-php/code/useful-rst-2.txt b/things-to-know-php/code/useful-rst-2.txt new file mode 100644 index 0000000..f48ea1a --- /dev/null +++ b/things-to-know-php/code/useful-rst-2.txt @@ -0,0 +1,14 @@ +.. image:: images/editing.png + :width: 20cm + + +.. code-block:: php + :startinline: true + :linenos: + + echo 'Hello world!'; + + +.. raw:: pdf + + TextAnnotation "This is a speaker note." diff --git a/things-to-know-php/code/watching.txt b/things-to-know-php/code/watching.txt new file mode 100644 index 0000000..555a827 --- /dev/null +++ b/things-to-know-php/code/watching.txt @@ -0,0 +1,8 @@ +nodemon --ext rst,style,txt --exec " + rst2pdf slides.rst \ + --output slides.pdf \ + --stylesheets main \ + --break-level 1 \ + --fit-background-mode scale \ + --extension-module preprocess +" diff --git a/things-to-know-php/images/29e90e7f46dbccc3df70c99268f445c9.png b/things-to-know-php/images/29e90e7f46dbccc3df70c99268f445c9.png new file mode 100644 index 0000000..a61354b Binary files /dev/null and b/things-to-know-php/images/29e90e7f46dbccc3df70c99268f445c9.png differ diff --git a/things-to-know-php/images/4db44a918090a900e5a1158002bff6c7.png b/things-to-know-php/images/4db44a918090a900e5a1158002bff6c7.png new file mode 100644 index 0000000..8e0eaea Binary files /dev/null and b/things-to-know-php/images/4db44a918090a900e5a1158002bff6c7.png differ diff --git a/things-to-know-php/images/4f9647e7ae288eb76067e0649f3f854b.png b/things-to-know-php/images/4f9647e7ae288eb76067e0649f3f854b.png new file mode 100644 index 0000000..494ea42 Binary files /dev/null and b/things-to-know-php/images/4f9647e7ae288eb76067e0649f3f854b.png differ diff --git a/things-to-know-php/images/6c1a31effb1874282c0d7a207da4727b.png b/things-to-know-php/images/6c1a31effb1874282c0d7a207da4727b.png new file mode 100644 index 0000000..64b1606 Binary files /dev/null and b/things-to-know-php/images/6c1a31effb1874282c0d7a207da4727b.png differ diff --git a/things-to-know-php/images/9450b42e7f3ec88958cf625c2c10bd70.png b/things-to-know-php/images/9450b42e7f3ec88958cf625c2c10bd70.png new file mode 100644 index 0000000..a68ccf5 Binary files /dev/null and b/things-to-know-php/images/9450b42e7f3ec88958cf625c2c10bd70.png differ diff --git a/things-to-know-php/images/acquia-certification-website.png b/things-to-know-php/images/acquia-certification-website.png new file mode 100644 index 0000000..35ab4a5 Binary files /dev/null and b/things-to-know-php/images/acquia-certification-website.png differ diff --git a/things-to-know-php/images/b36e0b5ee8c2f78c702ae77545bfa9d5.png b/things-to-know-php/images/b36e0b5ee8c2f78c702ae77545bfa9d5.png new file mode 100644 index 0000000..e3d6a80 Binary files /dev/null and b/things-to-know-php/images/b36e0b5ee8c2f78c702ae77545bfa9d5.png differ diff --git a/things-to-know-php/images/behat-website.png b/things-to-know-php/images/behat-website.png new file mode 100644 index 0000000..2872187 Binary files /dev/null and b/things-to-know-php/images/behat-website.png differ diff --git a/things-to-know-php/images/bg-blue.jpg b/things-to-know-php/images/bg-blue.jpg new file mode 100644 index 0000000..306beb4 Binary files /dev/null and b/things-to-know-php/images/bg-blue.jpg differ diff --git a/things-to-know-php/images/codecourse-website.png b/things-to-know-php/images/codecourse-website.png new file mode 100644 index 0000000..8e7d411 Binary files /dev/null and b/things-to-know-php/images/codecourse-website.png differ diff --git a/things-to-know-php/images/composer-logo.png b/things-to-know-php/images/composer-logo.png new file mode 100644 index 0000000..6e4500b Binary files /dev/null and b/things-to-know-php/images/composer-logo.png differ diff --git a/things-to-know-php/images/content-management-systems.png b/things-to-know-php/images/content-management-systems.png new file mode 100644 index 0000000..7d8cceb Binary files /dev/null and b/things-to-know-php/images/content-management-systems.png differ diff --git a/things-to-know-php/images/d0e6cb728881797d6db089a4960d8db8.png b/things-to-know-php/images/d0e6cb728881797d6db089a4960d8db8.png new file mode 100644 index 0000000..74e080e Binary files /dev/null and b/things-to-know-php/images/d0e6cb728881797d6db089a4960d8db8.png differ diff --git a/things-to-know-php/images/drupal-website.png b/things-to-know-php/images/drupal-website.png new file mode 100644 index 0000000..cb2a166 Binary files /dev/null and b/things-to-know-php/images/drupal-website.png differ diff --git a/things-to-know-php/images/drupalise-me-website.png b/things-to-know-php/images/drupalise-me-website.png new file mode 100644 index 0000000..2e176da Binary files /dev/null and b/things-to-know-php/images/drupalise-me-website.png differ diff --git a/things-to-know-php/images/elephpants.jpg b/things-to-know-php/images/elephpants.jpg new file mode 100644 index 0000000..727013d Binary files /dev/null and b/things-to-know-php/images/elephpants.jpg differ diff --git a/things-to-know-php/images/hello-world.png b/things-to-know-php/images/hello-world.png new file mode 100644 index 0000000..0db7c35 Binary files /dev/null and b/things-to-know-php/images/hello-world.png differ diff --git a/things-to-know-php/images/jigsaw-website.png b/things-to-know-php/images/jigsaw-website.png new file mode 100644 index 0000000..220022a Binary files /dev/null and b/things-to-know-php/images/jigsaw-website.png differ diff --git a/things-to-know-php/images/joomla-website.png b/things-to-know-php/images/joomla-website.png new file mode 100644 index 0000000..e947334 Binary files /dev/null and b/things-to-know-php/images/joomla-website.png differ diff --git a/things-to-know-php/images/laminas-website.png b/things-to-know-php/images/laminas-website.png new file mode 100644 index 0000000..d8a8b93 Binary files /dev/null and b/things-to-know-php/images/laminas-website.png differ diff --git a/things-to-know-php/images/laracasts-website.png b/things-to-know-php/images/laracasts-website.png new file mode 100644 index 0000000..5aa1742 Binary files /dev/null and b/things-to-know-php/images/laracasts-website.png differ diff --git a/things-to-know-php/images/laravel-website.png b/things-to-know-php/images/laravel-website.png new file mode 100644 index 0000000..e5d5835 Binary files /dev/null and b/things-to-know-php/images/laravel-website.png differ diff --git a/things-to-know-php/images/packagist-symfony-console.png b/things-to-know-php/images/packagist-symfony-console.png new file mode 100644 index 0000000..57b75ea Binary files /dev/null and b/things-to-know-php/images/packagist-symfony-console.png differ diff --git a/things-to-know-php/images/packagist-website.png b/things-to-know-php/images/packagist-website.png new file mode 100644 index 0000000..ad0395c Binary files /dev/null and b/things-to-know-php/images/packagist-website.png differ diff --git a/things-to-know-php/images/perch-website.png b/things-to-know-php/images/perch-website.png new file mode 100644 index 0000000..ef8d015 Binary files /dev/null and b/things-to-know-php/images/perch-website.png differ diff --git a/things-to-know-php/images/pest-website.png b/things-to-know-php/images/pest-website.png new file mode 100644 index 0000000..901f51e Binary files /dev/null and b/things-to-know-php/images/pest-website.png differ diff --git a/things-to-know-php/images/php-fig-website.png b/things-to-know-php/images/php-fig-website.png new file mode 100644 index 0000000..36ddd91 Binary files /dev/null and b/things-to-know-php/images/php-fig-website.png differ diff --git a/things-to-know-php/images/php-logo.png b/things-to-know-php/images/php-logo.png new file mode 100644 index 0000000..11f0e63 Binary files /dev/null and b/things-to-know-php/images/php-logo.png differ diff --git a/things-to-know-php/images/php-south-wales-website.png b/things-to-know-php/images/php-south-wales-website.png new file mode 100644 index 0000000..f107e7a Binary files /dev/null and b/things-to-know-php/images/php-south-wales-website.png differ diff --git a/things-to-know-php/images/php-south-west-website.png b/things-to-know-php/images/php-south-west-website.png new file mode 100644 index 0000000..e2926f5 Binary files /dev/null and b/things-to-know-php/images/php-south-west-website.png differ diff --git a/things-to-know-php/images/php-uk-website.png b/things-to-know-php/images/php-uk-website.png new file mode 100644 index 0000000..944afad Binary files /dev/null and b/things-to-know-php/images/php-uk-website.png differ diff --git a/things-to-know-php/images/php-versions.png b/things-to-know-php/images/php-versions.png new file mode 100644 index 0000000..5e96a89 Binary files /dev/null and b/things-to-know-php/images/php-versions.png differ diff --git a/things-to-know-php/images/phpstan-website.png b/things-to-know-php/images/phpstan-website.png new file mode 100644 index 0000000..cb1d413 Binary files /dev/null and b/things-to-know-php/images/phpstan-website.png differ diff --git a/things-to-know-php/images/phpug-website.png b/things-to-know-php/images/phpug-website.png new file mode 100644 index 0000000..c547ee3 Binary files /dev/null and b/things-to-know-php/images/phpug-website.png differ diff --git a/things-to-know-php/images/phpunit-website.png b/things-to-know-php/images/phpunit-website.png new file mode 100644 index 0000000..7213811 Binary files /dev/null and b/things-to-know-php/images/phpunit-website.png differ diff --git a/things-to-know-php/images/projects-using-symfony.png b/things-to-know-php/images/projects-using-symfony.png new file mode 100644 index 0000000..5f7c41e Binary files /dev/null and b/things-to-know-php/images/projects-using-symfony.png differ diff --git a/things-to-know-php/images/sculpin-website.png b/things-to-know-php/images/sculpin-website.png new file mode 100644 index 0000000..3051880 Binary files /dev/null and b/things-to-know-php/images/sculpin-website.png differ diff --git a/things-to-know-php/images/server-side-languages.png b/things-to-know-php/images/server-side-languages.png new file mode 100644 index 0000000..5f8d3dd Binary files /dev/null and b/things-to-know-php/images/server-side-languages.png differ diff --git a/things-to-know-php/images/symfony-certification-website.png b/things-to-know-php/images/symfony-certification-website.png new file mode 100644 index 0000000..eb4d7ce Binary files /dev/null and b/things-to-know-php/images/symfony-certification-website.png differ diff --git a/things-to-know-php/images/symfony-components.png b/things-to-know-php/images/symfony-components.png new file mode 100644 index 0000000..5cc1821 Binary files /dev/null and b/things-to-know-php/images/symfony-components.png differ diff --git a/things-to-know-php/images/symfony-website.png b/things-to-know-php/images/symfony-website.png new file mode 100644 index 0000000..50e448a Binary files /dev/null and b/things-to-know-php/images/symfony-website.png differ diff --git a/things-to-know-php/images/symfonycasts-website.png b/things-to-know-php/images/symfonycasts-website.png new file mode 100644 index 0000000..cb39a74 Binary files /dev/null and b/things-to-know-php/images/symfonycasts-website.png differ diff --git a/things-to-know-php/images/typo3-website.png b/things-to-know-php/images/typo3-website.png new file mode 100644 index 0000000..ec2e81c Binary files /dev/null and b/things-to-know-php/images/typo3-website.png differ diff --git a/things-to-know-php/images/wordpress-website.png b/things-to-know-php/images/wordpress-website.png new file mode 100644 index 0000000..9c52ced Binary files /dev/null and b/things-to-know-php/images/wordpress-website.png differ diff --git a/things-to-know-php/images/xdebug-example.png b/things-to-know-php/images/xdebug-example.png new file mode 100644 index 0000000..611abf7 Binary files /dev/null and b/things-to-know-php/images/xdebug-example.png differ diff --git a/things-to-know-php/images/xdebug-website.png b/things-to-know-php/images/xdebug-website.png new file mode 100644 index 0000000..a74b29f Binary files /dev/null and b/things-to-know-php/images/xdebug-website.png differ diff --git a/things-to-know-php/images/zend-certification-website.png b/things-to-know-php/images/zend-certification-website.png new file mode 100644 index 0000000..424ce8e Binary files /dev/null and b/things-to-know-php/images/zend-certification-website.png differ diff --git a/things-to-know-php/main.style b/things-to-know-php/main.style new file mode 100644 index 0000000..a2c6425 --- /dev/null +++ b/things-to-know-php/main.style @@ -0,0 +1,129 @@ +pageSetup: + firstTemplate: coverPage + height: 18cm + margin-bottom: 0cm + margin-gutter: 0cm + margin-left: 0cm + margin-right: 0cm + margin-top: 0cm + size: null + spacing-footer: 2mm + spacing-header: 2mm + width: 32cm + +pageTemplates: + coverPage: + # background: images/title.png + frames: [] + [12%, 10%, 76%, 75%] + showFooter: false + showHeader: false + + titlePage: + alignment: TA_CENTER + frames: [] + [8%, 8%, 85%, 65%] + showFooter: true + showHeader: false + + standardPage: + frames: [] + [3%, 3%, 92%, 92%] + showFooter: true + showHeader: false + + imagePage: + alignment: TA_CENTER + frames: [] + [12%, 10%, 76%, 80%] + showFooter: true + showHeader: false + + outputPage: + frames: [] + [8%, 10%, 82%, 65%] + showFooter: false + showHeader: false + +linkColor: #24608a + +fontsAlias: + stdMono: Inconsolata-Regular + stdMonoBold: Inconsolata-Regular + stdMonoBoldItalic: Inconsolata-Regular + stdMonoItalic: Inconsolata-Regular + +styles: + normal: + fontSize: 24 + leading: 32 + textColor: #383745 + + bodytext: + alignment: TA_LEFT + + heading: + fontSize: 20 + spaceAfter: 16 + textColor: #24608a + + title: + fontSize: 300% + parent: heading + + bullet-list: + commands: [] + [LEFTPADDING, [0, 0], [1, -1], 10] + [RIGHTPADDING, [0, 0], [1, -1], 0] + [VALIGN, [0, 0], [-1, -1], TOP] + colWidths: ["20", null] + textColor: #aaaaaa + + bullet-list-item: + spaceBefore: 14 + spaceAfter: 0 + + titleslideinfo: + alignment: TA_CENTER + fontSize: 140% + parent: normal + + footer: + alignment: TA_RIGHT + fontName: stdMono + fontSize: 20 + textColor: #24608a + rightIndent: 16 + spaceBefore: 0 + + literal: + backColor: white + fontName: stdMono + + code: + backColor: white + borderWidth: 0 + fontSize: 20 + leading: 24 + parent: literal + spaceBefore: 4 + + blockquote: + parent: normal + fontName: stdItalic + leading: 36 + + attribution: + parent: normal + textColor: #66666 + + centred: + alignment: TA_CENTER + parent: normal + + centredtitle: + alignment: TA_CENTER + fontName: stdBold + fontSize: 48 + leading: 64 + parent: heading diff --git a/things-to-know-php/sections/cms.rst b/things-to-know-php/sections/cms.rst new file mode 100644 index 0000000..cf534ba --- /dev/null +++ b/things-to-know-php/sections/cms.rst @@ -0,0 +1,49 @@ +.. page:: titlePage + +Levelling Up +============ + +Content Management Systems + +.. raw:: pdf + + TextAnnotation "Move from simple pages or CLI apps, need to level up" + +.. page:: titlePage + +.. class:: centredtitle + +These lists are not exhaustive + +.. raw:: pdf + + TextAnnotation "Other CMSes, frameworks and tools are available. These are the ones that came to mind for me." + +.. page:: imagePage + +.. image:: images/drupal-website.png + :width: 23cm + +.. page:: + +.. image:: images/wordpress-website.png + :width: 23cm + +.. page:: + +.. image:: images/joomla-website.png + :width: 23cm + +.. raw:: pdf + + TextAnnotation "The big three PHP frameworks." + +.. page:: + +.. image:: images/typo3-website.png + :width: 23cm + +.. page:: + +.. image:: images/perch-website.png + :width: 23cm diff --git a/things-to-know-php/sections/code-reuse.rst b/things-to-know-php/sections/code-reuse.rst new file mode 100644 index 0000000..665f516 --- /dev/null +++ b/things-to-know-php/sections/code-reuse.rst @@ -0,0 +1,86 @@ +.. page:: titlePage + +.. class:: centredTitle + +Code reuse and collaboration + +.. page:: standardPage + +.. image:: images/projects-using-symfony.png + :width: 23cm + +.. page:: + +.. image:: images/composer-logo.png + :height: 10cm + +.. page:: + +.. image:: images/packagist-website.png + +.. page:: + +.. image:: images/packagist-symfony-console.png + +.. page:: titlePage + +.. class:: centredtitle + +``composer require +symfony/console`` + +.. page:: + +.. code-block:: json + + { + "require": { + "symfony/console": "^4.2" + } + } + + +.. page:: standardPage + +.. code-block:: php + :linenos: + + run(); + +.. page:: + +.. code-block:: php + :linenos: + + run(); + +.. page:: imagePage + +.. image:: images/symfony-components.png + :width: 23cm + +.. page:: + +.. image:: images/php-fig-website.png + :width: 23cm diff --git a/things-to-know-php/sections/community.rst b/things-to-know-php/sections/community.rst new file mode 100644 index 0000000..3e7ac92 --- /dev/null +++ b/things-to-know-php/sections/community.rst @@ -0,0 +1,23 @@ +.. page:: titlePage + +.. class:: centredTitle + +The Community + +.. page:: imagePage + +.. image:: images/php-south-west-website.png + +.. page:: + +.. image:: images/php-uk-website.png + +.. page:: + +.. image:: images/phpug-website.png + +.. raw:: pdf + + TextAnnotation "These events are happening all over the world, for PHP and for it's sub-communities." + TextAnnotation "PHP World, php[tek] (organised by PHP Architect), DrupalCon, SymfonyCon, Laracon, PHP UK, PHP Benelux, Sunshine PHP" + diff --git a/things-to-know-php/sections/frameworks.rst b/things-to-know-php/sections/frameworks.rst new file mode 100644 index 0000000..c6803f9 --- /dev/null +++ b/things-to-know-php/sections/frameworks.rst @@ -0,0 +1,21 @@ +.. page:: titlePage + +Levelling Up +============ + +Frameworks + +.. page:: imagePage + +.. image:: images/symfony-website.png + :width: 23cm + +.. page:: + +.. image:: images/laravel-website.png + :width: 23cm + +.. page:: + +.. image:: images/laminas-website.png + :width: 23cm diff --git a/things-to-know-php/sections/getting-started.rst b/things-to-know-php/sections/getting-started.rst new file mode 100644 index 0000000..abd8b65 --- /dev/null +++ b/things-to-know-php/sections/getting-started.rst @@ -0,0 +1,257 @@ +.. page:: titlePage + +.. class:: centredTitle + +How do I get started? + +.. page:: + +.. class:: centredTitle + +``php -v`` + +.. page:: + +``PHP 8.1.0 (cli) (built: Nov 30 2021 07:15:23) (NTS) +Copyright (c) The PHP Group +Zend Engine v4.1.0, Copyright (c) Zend Technologies`` + +.. page:: + +.. class:: centredTitle + +``vim index.php`` + +.. raw:: pdf + + TextAnnotation "Create a new file called 'index.php' in the text editor of your choice." + +.. page:: standardPage + +Your first PHP file +=================== + +.. code-block:: php + :linenos: + + say('something'); diff --git a/things-to-know-php/sections/introduction.rst b/things-to-know-php/sections/introduction.rst new file mode 100644 index 0000000..8069f49 --- /dev/null +++ b/things-to-know-php/sections/introduction.rst @@ -0,0 +1,69 @@ +.. page:: imagePage + +.. image:: images/php-logo.png + :width: 15cm + +.. raw:: pdf + + TextAnnotation "Working with PHP and Drupal since 2007 as a hobbyist and Freelancer, full-time since 2010." + TextAnnotation "Currently working as a Lead Developer at Transport for Wales." + +.. page:: standardPage + +elePHPants! +=========== + +.. image:: images/elephpants.jpg + :width: 23cm + +.. page:: standardPage + +What is PHP? +============ + +PHP is a popular general-purpose scripting language that is especially suited to web development. + +| + +Fast, flexible and pragmatic, PHP powers everything from your blog to the most popular websites in the world. + +| + +http://php.net + +.. raw:: pdf + + TextAnnotation "First released in 2005, most recent release (8.1.3) on 17th February 2022." + +.. page:: titlePage + +.. class:: centredTitle + +Personal Home Page + +.. page:: + +.. class:: centredTitle + +PHP: Hypertext Preprocessor + +| + +.. class:: centred + +(recursive acronym) + +.. page:: imagePage + +.. image:: images/php-versions.png + :width: 25cm + +.. page:: + +.. image:: images/server-side-languages.png + :width: 25cm + +.. page:: + +.. image:: images/content-management-systems.png + :width: 25cm diff --git a/things-to-know-php/sections/learning.rst b/things-to-know-php/sections/learning.rst new file mode 100644 index 0000000..b51115c --- /dev/null +++ b/things-to-know-php/sections/learning.rst @@ -0,0 +1,49 @@ +.. page:: titlePage + +.. class:: centredTitle + +Learning + +.. page:: imagePage + +.. image:: images/drupalise-me-website.png + :width: 23cm + +.. page:: + +.. image:: images/symfonycasts-website.png + :width: 23cm + +.. page:: + +.. image:: images/laracasts-website.png + :width: 23cm + +.. page:: + +.. image:: images/codecourse-website.png + :width: 23cm + +.. page:: + +.. image:: images/zend-certification-website.png + :width: 23cm + +.. raw:: pdf + + TextAnnotation "This leads to achieving certifications which help with personal development and career progression." + TextAnnotation "Zend offer certification on the PHP language and formerly on Zend framework (now Laminas)." + +.. page:: + +.. image:: images/acquia-certification-website.png + :width: 23cm + +.. page:: + +.. image:: images/symfony-certification-website.png + :width: 23cm + +.. raw:: pdf + + TextAnnotation "Symfony and Twig" diff --git a/things-to-know-php/sections/static-site-generators.rst b/things-to-know-php/sections/static-site-generators.rst new file mode 100644 index 0000000..a953cad --- /dev/null +++ b/things-to-know-php/sections/static-site-generators.rst @@ -0,0 +1,22 @@ +.. page:: titlePage + +But I only need a static site +============================= + +Static site generators + +.. raw:: pdf + + TextAnnotation "My personal website falls into this category." + TextAnnotation "Write HTML or markdown." + TextAnnotation "Use a familiar templating engine like Twig or Laravel's Blade." + +.. page:: imagePage + +.. image:: images/sculpin-website.png + :width: 23cm + +.. page:: + +.. image:: images/jigsaw-website.png + :width: 23cm diff --git a/things-to-know-php/sections/tools.rst b/things-to-know-php/sections/tools.rst new file mode 100644 index 0000000..b263abc --- /dev/null +++ b/things-to-know-php/sections/tools.rst @@ -0,0 +1,111 @@ +.. page:: titlePage + +.. class:: centredTitle + +Tools + +.. page:: imagePage + +.. image:: images/composer-logo.png + :height: 10cm + +.. page:: + +.. image:: images/xdebug-website.png + :width: 23cm + +.. raw:: pdf + + TextAnnotation "Xdebug is a PHP extension that provides debugging and profiling capabilities." + +.. page:: + +.. image:: images/xdebug-example.png + :width: 23cm + +.. raw:: pdf + + TextAnnotation "Add a breakpoint, halts execution" + TextAnnotation "Shows a stack trace and variables within scope" + +.. page:: + +.. image:: images/phpunit-website.png + :width: 23cm + +.. page:: + +.. image:: images/pest-website.png + :width: 22cm + +.. page:: standardPage + +.. code-block:: php + :linenos: + + assertInstanceOf( + Email::class, + Email::fromString('user@example.com') + ); + } + } + +.. page:: + +.. code-block:: php + :linenos: + + toBeInstanceOf(Email::class); + }); + +.. page:: imagePage + +.. image:: images/behat-website.png + :width: 23cm + +.. raw:: pdf + + TextAnnotation "Behavior Driven Development (BDD), business-focussed, user story style" + +.. page:: standardPage + +.. code-block:: gherkin + + Feature: ls + In order to see the directory structure + As a UNIX user + I need to be able to list the current directory's contents + + Scenario: List 2 files in a directory + Given I am in a directory "test" + And I have a file named "foo" + And I have a file named "bar" + When I run "ls" + Then I should get: + """ + bar + foo + """ + +.. page:: imagePage + +.. image:: images/phpstan-website.png + :width: 23cm diff --git a/things-to-know-php/slides.rst b/things-to-know-php/slides.rst new file mode 100644 index 0000000..9f50339 --- /dev/null +++ b/things-to-know-php/slides.rst @@ -0,0 +1,58 @@ +.. footer:: @opdavies + +Things to know about PHP +######################## + +| + +.. class:: titleslideinfo text-white + +Oliver Davies (@opdavies) + +| + +.. class:: centred + +https://oliverdavies.uk/things-about-php + +.. include:: sections/introduction.rst +.. include:: sections/getting-started.rst +.. include:: sections/cms.rst +.. include:: sections/frameworks.rst +.. include:: sections/static-site-generators.rst +.. include:: sections/code-reuse.rst +.. include:: sections/tools.rst +.. include:: sections/learning.rst +.. include:: sections/community.rst + +.. page:: standardPage + +Things you should know about PHP +================================ + +* Very easy to get started +* A large choice of tools and frameworks +* A great worldwide community +* Great learning resources +* Gain experience by contributing to open source projects + +.. raw:: pdf + + TextAnnotation "CMSes, frameworks, eCommerce, APIs, static sites" + TextAnnotation "Gain experience and kudos by contributing to open source projects." + TextAnnotation "Most of these have their source code posted online with an appropriate license, hosted on GitHub or elsewhere. If you find a bug or want a feature added, you have the ability to create or fix it yourself and contribute it back to the project." + +.. page:: standardPage + +Thanks! +======= + +References: + +* https://www.oliverdavies.uk/things-about-php + +| + +Me: + +* https://www.oliverdavies.uk