Browse Source

Work on namespaces test

Laurent Destailleur 5 years ago
parent
commit
d82e60adb7

+ 4 - 0
dev/namespacemig/README.md

@@ -0,0 +1,4 @@
+Test to migrate Dolibarr to namespace "Dolibarr".
+
+Script bbb.php is a script of an external module with current code writing. 
+It must works after migration. 

+ 23 - 0
dev/namespacemig/aaa.class.php

@@ -0,0 +1,23 @@
+<?php
+
+namespace Dolibarr;
+
+
+global $globalaaa;
+$globalaaa = 'globalaaa';
+
+function faaa()
+{
+	return 'faaa';
+}
+
+class Aaa
+{
+	const AAA='aaa';
+
+	public function do()
+	{
+		echo 'doaaa'."\n";
+	}
+}
+

+ 25 - 0
dev/namespacemig/bbb.class.php

@@ -0,0 +1,25 @@
+<?php
+
+
+
+
+global $globalbbb;
+$globalbbb = 'globalbbb';
+
+function fbbb()
+{
+	return 'fbbb';
+}
+
+class Bbb
+{
+	const BBB='bbb';
+	public function do()
+	{
+		global $globalaaa, $globalbbb;
+		echo 'dobbb'."\n";
+		$globalaaa.='+bbb';
+		$globalbbb.='+bbb';
+	}
+}
+

+ 31 - 0
dev/namespacemig/bbb.php

@@ -0,0 +1,31 @@
+<?php
+
+//use \Aaa as Aaa;
+
+use Dolibarr\Aaa as Aaa;
+use function Dolibarr\faaa as faaa;	// Need php 5.6+
+//use const Dolibarr\AAA;
+
+//use Bbb as Bbb;
+
+require './main.inc.php';
+require './aaa.class.php';
+require './bbb.class.php';
+
+$bbb = new Bbb();
+$bbb->do();
+
+$aaa = new Aaa();
+$aaa->do();
+
+echo $aaa::AAA."\n";
+echo $bbb::BBB."\n";
+
+echo Aaa::AAA."\n";
+echo Bbb::BBB."\n";
+
+echo faaa()."\n";
+echo fbbb()."\n";
+
+echo "globalaaa=$globalaaa\n";
+echo "globalbbb=$globalbbb\n";

+ 7 - 0
dev/namespacemig/main.inc.php

@@ -0,0 +1,7 @@
+<?php
+
+/*spl_autoload_register(function ($class_name) {
+    var_dump('class='.$class_name);
+    require $class_name;
+});
+*/