Setup   A
last analyzed

Complexity

Total Complexity 6

Size/Duplication

Total Lines 25
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 0

Importance

Changes 3
Bugs 0 Features 0
Metric Value
wmc 6
c 3
b 0
f 0
lcom 0
cbo 0
dl 0
loc 25
rs 10

2 Methods

Rating   Name   Duplication   Size   Complexity  
A prepareProject() 0 15 4
A makeDir() 0 6 2
1
<?php
2
3
namespace cvweiss\projectbase;
4
5
class Setup
6
{
7
    public static function prepareProject()
8
    {
9
        $vendorDir = dirname(dirname(dirname(__DIR__)));
10
        // Composer insists that libs are kept in vendor, so we'll make that assumption
11
        $projectDir = basename($vendorDir) == 'vendor' ? dirname($vendorDir) : dirname(dirname(__DIR__));
12
13
        // Create necessary directories
14
        $dirs = ['/view/', '/cache/', '/cache/twig'];
15
        foreach ($dirs as $dir) self::makeDir($projectDir . $dir);
16
17
        // Copy the public directory
18
        if (strlen($vendorDir) > strlen($projectDir)) {
19
            echo("cp -r $vendorDir/public $projectDir/public\n");
20
        }
21
    }
22
23
    private static function makeDir($dir)
24
    {
25
        if (is_dir($dir)) return;
26
        echo "Creating directory: $dir\n";
27
        mkdir($dir);
28
    }
29
}
30