vendor/bundles/JMS/SecurityExtraBundle/Tests/Fixtures/ComplexService.php
author ymh <ymh.work@gmail.com>
Sun, 06 Nov 2011 23:44:37 +0100
changeset 27 1df556b2c0f9
parent 0 7f95f8617b0b
permissions -rwxr-xr-x
Correct memory problem
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     1
<?php
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     2
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     3
namespace JMS\SecurityExtraBundle\Tests\Fixtures;
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     4
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     5
use JMS\SecurityExtraBundle\Annotation\SecureReturn;
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     6
use JMS\SecurityExtraBundle\Annotation\SecureParam;
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     7
use JMS\SecurityExtraBundle\Annotation\Secure;
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     8
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     9
interface E {
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    10
    /**
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    11
     * @SecureReturn(permissions="VIEW,UNDELETE")
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    12
     */
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    13
    function retrieve();
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    14
}
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    15
interface F {
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    16
    /**
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    17
     * @SecureParam(name="secure", permissions="OWNER")
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    18
     * @SecureParam(name="foo", permissions="MASTER, EDIT")
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    19
     */
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    20
    function delete($foo, $asdf, $secure);
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    21
}
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    22
interface C { }
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    23
interface D extends F {}
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    24
interface B extends C, E { }
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    25
abstract class G implements F, E {
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    26
    /**
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    27
     * @Secure(roles="ROLE_FOO, IS_AUTHENTICATED_FULLY")
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    28
     * @SecureParam(name="secure", permissions="FOO")
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    29
     * @SecureReturn(permissions="WOW")
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    30
     */
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    31
    abstract function abstractMethod($foo, $secure);
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    32
}
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    33
class A extends G implements C, B, D {
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    34
    public function retrieve() { }
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    35
    public function delete($one, $two, $three) { }
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    36
    public function abstractMethod($asdf, $wohoo) { }
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    37
}
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    38
class ComplexService extends A implements C { }