Коментарии

Автор:
The keyword 'use' has two different applications, but the reserved word table links to here.

It can apply to namespace constucts:

file1:
<?php namespace foo;
  class 
Cat 
    static function 
says() {echo 'meoow';}  } ?>

file2:
<?php namespace bar;
  class 
Dog {
    static function 
says() {echo 'ruff';}  } ?>

file3:
<?php namespace animate;
  class 
Animal {
    static function 
breathes() {echo 'air';}  } ?>

file4:
<?php namespace fub;
  include 
'file1.php';
  include 
'file2.php';
  include 
'file3.php';
  use 
foo as feline;
  use 
bar as canine;
  use 
animate;
  echo 
felineCat::says(), "<br />\n";
  echo 
canineDog::says(), "<br />\n";
  echo 
animateAnimal::breathes(), "<br />\n"?>

Note that 
felineCat::says()
should be
\feline\Cat::says()
(and similar for the others)
but this comment form deletes the backslash (why???) 

The 'use' keyword also applies to closure constructs:

<?php function getTotal($products_costs$tax)
    {
       
$total 0.00;
       
       
$callback =
            function (
$pricePerItem) use ($tax, &$total)
            {
               
               
$total += $pricePerItem * ($tax 1.0);
            };
       
       
array_walk($products_costs$callback);
        return 
round($total2);
    }
?>
2011-05-25 14:06:14
http://php5.kiev.ua/manual/ru/language.namespaces.html
Автор:
<?php 
// multiple namespaces in a single file:

namespace foo{
  class 
Cat 
    static function 
says() {echo 'meoow';}  } 
}

namespace bar{
  class 
Dog {
    static function 
says() {echo 'ruff';}  } 
  class 
Cat 
    static function 
says() {echo 'meowi';}  } 
  class 
Mouse {     //nonstatic function
   
function says() {echo 'Come and get me ;)';}  } 
}

namespace animate{
  class 
Animal {
    static function 
breathes() {echo 'air';}  }
}

namespace{        // No Namespace: global code
 
use foo as feline;
  use 
bar as canine;
  use 
barMouse as MouseOnly;
  use 
animate;
  echo 
animateAnimal::breathes(), "<br />\n"
  echo 
felineCat::says(), "<br />\n"//not starting with a slash!
 
echo canineCat::says(), "<br />\n";
  echo 
canineDog::says(), "<br />\n";
 
//any of the three following lines work:
  // $micky=new bar\Mouse();
  // $micky=new canine\Mouse();
 
$micky=new test();
  echo 
$micky->says();
}
?>
2015-01-22 15:13:37
http://php5.kiev.ua/manual/ru/language.namespaces.html
In addition to using namespaces and closures, the use keyword has another new meaning as of PHP 5.4 - using traits:

<?php
trait Hello 
{
    public function 
sayHello() {
        echo 
'Hello ';
    }
}

trait World {
    public function 
sayWorld() {
        echo 
'World';
    }
}

class 
MyHelloWorld {
    use 
HelloWorld;
    public function 
sayExclamationMark() {
        echo 
'!';
    }
}

$o = new MyHelloWorld();
$o->sayHello();
$o->sayWorld();
$o->sayExclamationMark();
?>

More info here: language.oop5.traits
2015-03-26 19:04:50
http://php5.kiev.ua/manual/ru/language.namespaces.html
here is a simple example to use namespace

<?php

namespace appa
{
    class 
one{
       public static function 
_1(){
        echo 
'a one _1<br>';
       }
    }
}

namespace appb{
    class 
one{
        public static function 
_2(){
            echo 
'b one _2<br>';
        }
    }
}

namespace app{

    echo 
aone::_1();
    echo 
bone::_2();
    echo 
atwo::_1();
}

namespace appa{
    class 
two{
       public static function 
_1(){
        echo 
'a two _1<br>';
       }
    }
}

prints 
a one _1
b one _2
a two _1
2015-12-27 20:43:12
http://php5.kiev.ua/manual/ru/language.namespaces.html
Автор:
Tested on PHP 7.0.5, Windows
The line "use animate;" equals the line "use animate as animate;"
but the "use other\animate;" equals "use other\animate as animate;"

file1:
<?php namespace foo;
  class 
Cat 
    static function 
says() {echo 'meoow';}  } ?>

file2:
<?php namespace bar;
  class 
Dog {
    static function 
says() {echo 'ruff';}  } ?>

file3:
<?php namespace otheranimate;
  class 
Animal {
    static function 
breathes() {echo 'air';}  } ?>

file4:
<?php namespace fub;
  include 
'file1.php';
  include 
'file2.php';
  include 
'file3.php';
  use 
foo as feline;
  use 
bar as canine;
  use 
otheranimate;       //use other\animate as animate;
 
echo felineCat::says(), "<br />\n";
  echo 
canineDog::says(), "<br />\n";
  echo 
animateAnimal::breathes(), "<br />\n"?>
2016-05-10 11:15:07
http://php5.kiev.ua/manual/ru/language.namespaces.html

    Поддержать сайт на родительском проекте КГБ