Download presentation
Presentation is loading. Please wait.
Published byOsborn Dalton Modified over 7 years ago
1
PHP+SQL 6. YAML (Yet Another Markup Language / YAML Ain't Markup Language) ORM (Object-Relational Mapper) OE NIK, 2013
2
PHP+SQL 6. YAML ORM OE NIK, 2013
3
Main feature: indentation YAML 1.2 is a superset of JSON
„YAML is a human friendly data serialization standard for all programming languages” Main feature: indentation YAML 1.2 is a superset of JSON Less popular than JSON/XML, but it is used in some projects ROS: message and service descriptors Symfony: configuration A kép a PPT gyakorlatból származik © Szénási Sándor OE NIK, 2013
4
config.yml (excerpt) # separated config_dev.yml and config_prod.yml imports: - { resource: parameters.yml } - { resource: security.yml } - { resource: services.yml } [...] doctrine: dbal: driver: pdo_mysql host: "%database_host%" port: "%database_port%" dbname: "%database_name%" user: "%database_user%" password: "%database_password%" charset: UTF8 OE NIK, 2013
5
config.yml (excerpt) framework: secret: "%secret%“ router: resource: "%kernel.root_dir%/config/routing.yml" strict_requirements: ~ form: ~ csrf_protection: ~ validation: { enable_annotations: true } templating: engines: ['twig'] session: handler_id: session.handler.native_file save_path: "%kernel.root_dir%/../var/sessions/%kernel.environment%" assets: ~ php_errors: log: true OE NIK, 2013
6
routing.yml, parameters.yml
app: resource: type: annotation parameters: database_host: database_port: null database_name: symfony database_user: root database_password: null mailer_transport: smtp mailer_host: mailer_user: null mailer_password: null secret: 90b1369cb9c394850af998b f8da A kép a PPT gyakorlatból származik © Szénási Sándor OE NIK, 2013
7
PHP+SQL 6. YAML ORM OE NIK, 2013
8
PDO OE NIK, 2013
9
ORM C#: Entity Framework, Java: Hibernate/JPA
Python: Django ORM, SQLAlchemy Ruby on Rails PHP: Eloquent, Propel, Doctrine OE NIK, 2013
10
Active Record / Data Mapper
OE NIK, 2013
11
Doctrine ORM layers Data mapper with lazy loading capabilities
PDO: SQL data access (commands, results, parameters) DBAL: Dialect-independent data access Could be used independently in a project ORM: The impression of working with an in-memory data structure represented as an object graph Query-less application DQL, if needed DB/Class mapping via YAML (or annotations) OE NIK, 2013
12
config.yml, services.yml
parameters: pageprefix: mycars services: app.tblprefix_subscriber: class: AppBundle\Event\TablePrefixSubscriber arguments: [ "%pageprefix%" ] tags: - { name: doctrine.event_subscriber } OE NIK, 2013
13
Installation / usage Doctrine: installed in symfony by default
Data fixtures: composer require --dev doctrine/doctrine-fixtures-bundle doctrine:generate:entities AppBundle/Entity/XXX doctrine:schema:drop --force doctrine:database:create doctrine:schema:update --force doctrine:fixtures:load --no-interaction cache:clear OE NIK, 2013
14
OE NIK, 2013
15
OE NIK, 2013
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.