Loading…
Transcript

Nette Framework

Milan Šulc

f3l1x.io

@xf3l1x

9.9.2017

Open Source konference

#oskoncz

f3l1x

Milan Šulc

  • OpenSource elePHPant keeper
  • @contributte + @nettrine engineer
  • @planette writter
  • @dockette orchestrator
  • @FriendsOfNette creator
  • core @nette member

?

PHP?

PHP 7.x?

PHP 5.x?

PHP 7.2?

Open Source?

Open Source?

Nette Framework?

Nette Framework?

Nette

  • PHP framework
  • written by David Grudl (@dg)
  • published 2008
  • stable 2.4 (PHP 5.6)

Nette

  • beta 3.0 (PHP 7 only)
  • PHP 7.2 compatible
  • MVC, KISS, DRY, "COOL" URLs
  • Fast, smart, secured

Why?

CZ only

CZ/EN

forum

big community

forumoverflow

fast & secured

awesome packages

3rd party

hiring (overflow)

Packages

Packages

  • bootstrap
  • forms
  • mail
  • security
  • php-generator
  • utils
  • application
  • latte
  • database
  • caching
  • http
  • di
  • neon
  • sandbox
  • web-project
  • tracy
  • coding-standard
  • code-checker
  • tester

Tracy

Tracy

"hot & sexy"

SHOWTIME

Fatal error: Uncaught Nette\MemberAccessException: Call to undefined method Nette\Application\UI\Form::addTest()? in /sandbox/vendor/nette/utils/src/Utils/ObjectMixin.php:100

Stack trace:

#0 /sandbox/vendor/nette/utils/src/Utils/Object.php(75): Nette\Utils\ObjectMixin::call(Object(Nette\Application\UI\Form), 'addTest', Array)

#1 /sandbox/app/forms/SignFormFactory.php(32): Nette\Object->__call('addTest', Array)

#2 /sandbox/app/presenters/SignPresenter.php(21): App\Forms\SignFormFactory->create()

#3 /sandbox/vendor/nette/component-model/src/ComponentModel/Container.php(181): App\Presenters\SignPresenter->createComponentSignInForm('signInForm')

#4 /sandbox/vendor/nette/component-model/src/ComponentModel/Container.php(139): Nette\ComponentModel\Container->createComponent('signInForm')

#5 /sandbox/temp/cache/latte/15206b353f351f6bfca2c36cc.php(17): Nette\ComponentModel\Co in /sandbox/vendor/nette/utils/src/Utils/ObjectMixin.php on line 100

Integration

composer require tracy/tracy

use Tracy\Debugger;

Debugger::enable();

Ports

  • Wordpress
  • Drupal 7
  • Laravel
  • OpenCart
  • ProcessWire
  • Slim Framework
  • Symfony
  • Joomla?

{ Latte }

{latte}

"pretty & secured"

SHOWTIME

Integration

composer require latte/latte

$latte = new Latte\Engine;

$latte->setTempDirectory('/path/to/tempdir');

$latte->render('template.latte', ['foo' => 'bar']);

Syntax

Macros

Filters

Config

config

"NEON"

SHOWTIME

Integration

composer require nette/neon

Ports

  • PhpStorm
  • Visual Studio Code
  • Emacs
  • SublimeText

  • JavaScript
  • Python

Example

COMPONETTE

Componette

Open Source

Features

autonomous

custom packages

php 7.1

tags

search

open source

autocomplete

composer

vps

nginx

nette

docker

phpstan

nextras/orm

mariadb

travis

conding standard

Roadmap

  • version labels
  • search by version
  • certificated addons
  • nettewatch
  • project wizard
  • addons demo

PLANETTE

Planette

OpenSource

Features

static

series

tags

generated

search

categories

algolia

open source

vps

autocomplete

hugo

travis

easy-to-contribute

markdown

Roadmap

  • new design
  • only EN
  • better PR
  • content update

Blogposts

Forum

SANDBOX

Sandbox

Installation

composer create-project nette/sandbox sandbox

Run

php -S localhost:8000 -t www

Conclusion

Nette

  • PHP 7.2 ready
  • mature design
  • great addons
  • many resources [CZ]
  • big community [CZ]
  • meetups (PoSobota)
  • developer skill

Q/A

Q/A