Issues (156)

migrations/class-create-customers-table.php (1 issue)

Labels
Severity
1
<?php
2
/**
3
 * This is the example of database migration.
4
 *
5
 * @link       https://github.com/maab16
6
 * @since      1.0.0
7
 */
8
9
use CodexShaper\Database\Facades\Schema;
0 ignored issues
show
This use statement conflicts with another class in this namespace, Schema. Consider defining an alias.

Let?s assume that you have a directory layout like this:

.
|-- OtherDir
|   |-- Bar.php
|   `-- Foo.php
`-- SomeDir
    `-- Foo.php

and let?s assume the following content of Bar.php:

// Bar.php
namespace OtherDir;

use SomeDir\Foo; // This now conflicts the class OtherDir\Foo

If both files OtherDir/Foo.php and SomeDir/Foo.php are loaded in the same runtime, you will see a PHP error such as the following:

PHP Fatal error:  Cannot use SomeDir\Foo as Foo because the name is already in use in OtherDir/Foo.php

However, as OtherDir/Foo.php does not necessarily have to be loaded and the error is only triggered if it is loaded before OtherDir/Bar.php, this problem might go unnoticed for a while. In order to prevent this error from surfacing, you must import the namespace with a different alias:

// Bar.php
namespace OtherDir;

use SomeDir\Foo as SomeDirFoo; // There is no conflict anymore.
Loading history...
10
use Illuminate\Database\Migrations\Migration;
11
use Illuminate\Database\Schema\Blueprint;
12
13
/**
14
 * Create customers table.
15
 *
16
 * @since      1.0.0
17
 *
18
 * @author     Md Abu Ahsan basir <[email protected]>
19
 */
20
class Create_Customers_Table extends Migration
21
{
22
    /**
23
     * Run the migrations.
24
     *
25
     * @return void
26
     */
27
    public function up()
28
    {
29
        Schema::create(
30
            'customers',
31
            function (Blueprint $table) {
32
                $table->id();
33
                $table->string('name');
34
                $table->string('email')->unique();
35
                $table->timestamp('email_verified_at')->nullable();
36
                $table->string('password');
37
                $table->rememberToken();
38
                $table->timestamps();
39
            }
40
        );
41
    }
42
43
    /**
44
     * Reverse the migrations.
45
     *
46
     * @return void
47
     */
48
    public function down()
49
    {
50
        Schema::dropIfExists('customers');
51
    }
52
}
53