İçeriğe geç

Symfony 3 Giriş Seviyesi Notları

Bundle Oluştuktan sonra
enttiy oluştur

php bin/console doctrine:generate:entity

WebMuhasebeBundle:Fatura

Sonrasında ilişki kurulacak.

İlişkilerde

[code]
/**
* @ORM\OneToMany(targetEntity="Ilce", mappedBy="Il", cascade={"persist", "remove"})
*/
private $Ilce;

[/code]

id göndermek için kullanıyoruz. Kendi id sini karşıya entitye gönderiyor.

[code]

/**
* @ORM\ManyToOne(targetEntity="Il", inversedBy="Ilce")
* @ORM\JoinColumn(name="il_id", referencedColumnName="id")
*/
public $il;

[/code]

Buradaki karşıdan gelen id kayıt ediyor. (ilden gelen id yi kayıt ediyor)

1 ilin birden fazlası ilçesi olabilir ama bir ilçenin ilçesi olamaz.
İl burada one kısmı ilçe many olur.
işlemler bittikten sonra

[code]php bin/console doctrine:generate:entities WebMuhasebeBundle[/code]

[code]php bin/console doctrine:schema:update –force[/code]

sonrasında sayfalandırmak için kullanmak için aşagıdaki kodu yazıyoruz

 

[code]composer require knplabs/knp-paginator-bundle[/code]

şeklinde kurunuz

github linki : https://github.com/KnpLabs/KnpPaginatorBundle

Config.yml içerisinde aşagıdaki kodu ekleyiniz:

[code]knp_paginator:
page_range: 5 # default page range used in pagination control
default_options:
page_name: page # page query parameter name
sort_field_name: sort # sort field query parameter name
sort_direction_name: direction # sort direction query parameter name
distinct: true # ensure distinct results, useful when ORM queries are using GROUP BY statements
template:
pagination: KnpPaginatorBundle:Pagination:sliding.html.twig # sliding pagination controls template
sortable: KnpPaginatorBundle:Pagination:sortable_link.html.twig # sort link template

[/code]

sonrasında user için

[code]composer require friendsofsymfony/user-bundle "~2.0@dev"[/code]

şeklinde kurulum yapınız.

Ekle:

[code]<?php
// app/AppKernel.php

public function registerBundles()
{
$bundles = array(
// …
new FOS\UserBundle\FOSUserBundle(),
// …
);
}[/code]

Kendi bundlunuze seçip user.php oluşturup

[code]
use FOS\UserBundle\Model\User as BaseUser;
use Doctrine\ORM\Mapping as ORM;

/**
* @ORM\Entity
* @ORM\Table(name="fos_user")
*/
class User extends BaseUser
{
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;

public function __construct()
{
parent::__construct();
// your own logic
}
}[/code]

içine ekleyin

devamını
http://symfony.com/doc/current/bundles/FOSUserBundle/index.html

adresinden bakabilirsiniz.

a) Doctrine ORM User class

bölümünde

[code]// src/AppBundle/Entity/User.php[/code]

kısmında oluşturmuş oldugunuz bundle göre vermeniz gerekmektedir.

İşlemleri bitirdikten sonra crud işlemini yapınız.

Crud Dökümanı
http://symfony.com/doc/current/bundles/SensioGeneratorBundle/commands/generate_doctrine_crud.html

[code]php app/console generate:doctrine:crud[/code]

Crud oluşturabilirsiniz.
Oluşturalacak bütün entityler için tek tek yazmanız gerekiyor.

yml yapıyoruz
isim girerkende Örnek WebMuhasebeBundle:fatura

Tarih:Symfony