Categories
Laracast Series Notes Samuel

Notes from Laracast PHP series

php -v in gitbash shows version of php installed on the server

php -h shows a bunch of help options

php -S localhost:8888 (this starts a web server, similar to the php artisan server option)

sublime text is cheaper alternative to phpstorm (we might want to look at this once our phpstorm license expires)
atom is another editor Jeff likes and this open source, seems like a very cool program.

Categories
Fixing Stuff Laravel Samuel

Fixing Local Laravel Migration On Wamp 3.0.6

So We ran into an issue today when trying to migrate an old project on a newer version of wamp. The error we kept getting is:


[Illuminate\Database\QueryException]
SQLSTATE[42000]: Syntax error or access violation: 1067 Invalid default val
ue for 'created_at' (SQL: create table `marketing_sources` (`id` int unsign
ed not null auto_increment primary key, `name` varchar(100) not null, `note
s` text null, `created_at` timestamp default 0 not null, `updated_at` times
tamp default 0 not null) default character set utf8 collate utf8_unicode_ci
)

This error is caused by mysql not accepting a timestamp of 0 as the default set time. To fix this issue open up:

app > config > local-environment-folder > database.php

Then add the following line:
'strict' => true

*please note if you are using mysql then add this line to the mysql array.

Categories
Code Academy php unit Samuel

PHP Unit 11 advanced Arrays and Maps

lesson 1 Review of Arrays:


$fruits = array ('bananas', 'apples', 'pears');
echo $fruits[1]; /* Your code here! */

Lesson 2 Associative Arrays


// This is an array using integers as the indices...
$myArray = array(2012, 'blue', 5);

// ...and this is an associative array:
$myAssocArray = array('year' => 2012,
'colour' => 'blue',
'doors' => 5);

// This code will output "blue"...
echo $myArray[1];
echo '
';

// ... and this will also output "blue"!
echo $myAssocArray['colour'];

Lesson 3 Using Arrays as Maps


// This is an array using integers as the indices.
// Add 'BMW' as the last element in the array!
$car = array(2012, 'blue', 5, 'BMW');

// This is an associative array.
// Add the make => 'BMW' key/value pair!
$assocCar = array('year' => 2012,
'colour' => 'blue',
'doors' => 5,
'make' => 'BMW');

// This code should output "BMW"...
echo $car[3];
echo '
';

// ...and so should this!
echo $assocCar['make'];

**this lesson errors out when you try to submit it. Add a line after the ‘make’ line, something like ‘make’ => ‘BMW’);+ and hit submit. When it errors out then delete the + after the ; and hit submit again. Seems to be a bug with code academy validation.

Lesson 4 Accessing Associative Arrays


// This is an array using integers as the indices...
$myArray = array(2012, 'blue', 5, 'BMW');

// ...and this is an associative array:
$myAssocArray = array('year' => 2012,
'colour' => 'blue',
'doors' => 5,
'make' => 'BMW');

// This code will output "blue".
echo $myArray[1];
echo '
';

// Add your code here!
echo $myArray[1];
echo $myAssocArray['make'];

Lesson 5 Iterating Over Associative Arrays


$food = array('pizza', 'salad', 'burger');
$salad = array('lettuce' => 'with',
'tomato' => 'without',
'onions' => 'with');

// Looping through an array using "for".
// First, let's get the length of the array!
$length = count($food);

// Remember, arrays in PHP are zero-based:
for ($i = 0; $i < $length; $i++) { echo $food[$i] . '
';
}

echo '

I want my salad:
';

// Loop through an associative array using "foreach":
foreach ($salad as $ingredient=>$include) {
echo $include . ' ' . $ingredient . '
';
}

echo '

';

// Create your own array here and loop
// through it using foreach!

$hockeyTeams = array (
'blues' => 'great',
'hawks' => 'bad',
'wings' => 'worst');

//loop through array using "foreach"
foreach ($hockeyTeams as $team=>$include) {
echo $include . ' ' . $team . '
';

}

Lesson 6 Multidimensional Arrays

$deck = array(array('2 of Diamonds', 2),
array('5 of Diamonds', 5),
array('7 of Diamonds', 7),
array('8 of Hearts', 8));

// Imagine the first chosen card was the 7 of Diamonds.
// This is how we would show the user what they have:
echo 'You have the ' . $deck[2][0] . '!';

Lesson 7 putting it all togather


// On the line below, create your own associative array:
$myArray = array (
'cubs' => 'should hopefully be out soon');

// On the line below, output one of the values to the page:
echo $myArray['cubs'];

// On the line below, loop through the array and output
// *all* of the values to the page:

foreach ($myArray as $baseballTeam=>$list){
echo 'the' . ' ' . $baseballTeam . ' ' . $list;
}

Categories
Code Academy php unit Samuel

PHP Unit 10

Lesson 1:

// Create a Person class here:
class Person {

}

// And create a Person instance called $me here:
$me = new Person();

Lesson 2:

class Person {
public $isAlive = true;

function __construct($name) {
$this->name = $name;
}

public function dance() {
return "I'm dancing!";
}
}

$me = new Person("Shane");
if (is_a($me, "Person")) {
echo "I'm a person, ";
}
if (property_exists($me, "name")) {
echo "I have a name, ";
}
if (method_exists($me, "dance")) {
echo "and I know how to dance!";
}

Lesson 3:

class Shape {
public $hasSides = true;
}

class Square extends Shape {

}

$square = new Square();
// Add your code below!
if (property_exists($square, "hasSides")) {
echo "I have sides!";
}

lesson 4:

class Vehicle {
public function honk() {
return "HONK HONK!";
}
}
// Add your code below!

class Bicycle extends Vehicle {
public function honk() {
return "Beep beep!";
}
}

$bicycle = new Bicycle();
echo $bicycle->honk();

Lesson 5:

class Vehicle {
final public function honk() {
return "HONK HONK!";
}
}
// Add your code below!

class Bicycle extends Vehicle {
public function honk() {
return "Beep beep!";
}
}

$bicycle = new Bicycle();
echo $bicycle->honk();

Lesson 6:

class Person {

}
class Ninja extends Person {
// Add your code here...
const stealth = "MAXIMUM";

}
// ...and here!
echo Ninja::stealth;

lesson 7:

class King {
// Modify the code on line 10...
public static function proclaim() {
echo "A kingly proclamation!";
}
}
// ...and call the method below!
King::proclaim();

Lesson 8:

class Person {
public static function say() {
echo "Here are my thoughts!";
}
}

class Blogger extends Person {
const cats = 50;
static public $cats = "50";
}

Blogger::say();
echo Blogger::$cats;

Categories
Fixing Stuff Laravel Samuel

Laravel Local Environment Troubleshooting

Ran into this error today after setting up local environment:

The only supported ciphers are AES-128-CBC and AES-256-CBC with the correct key lengths.

Luckily there is a simple fix for this, documented below:

php artisan key:generate
*This will save an APP_KEY to your local .env file which will then be used to encrypt data.

Categories
php unit Samuel

Unit 9 Object Oriented Programming, Part 1

Unit 1 and 2 are review

// The code below creates the class
class Person {
// Creating some properties (variables tied to an object)
public $isAlive = true;
public $firstname;
public $lastname;
public $age;

// Assigning the values
public function __construct($firstname, $lastname, $age) {
$this->firstname = $firstname;
$this->lastname = $lastname;
$this->age = $age;
}

// Creating a method (function tied to an object)
public function greet() {
return "Hello, my name is " . $this->firstname . " " . $this->lastname . ". Nice to meet you! :-)";
}
}

// Creating a new person called "boring 12345", who is 12345 years old ;-)
$me = new Person('boring', '12345', 12345);

// Printing out, what the greet method returns
echo $me->greet();

Unit 3:

class Person{

}
$teacher = new Person();
$student = new Person();

Unit 4:


class Person{
public $isAlive = true;
public $firstname; //don't assign values to these in the public class, define them locally
public $lastname;
public $age;

}

$teacher = new Person();
$student = new Person();

//print out info
echo $teacher->isAlive; //note don't add a $to the isAlive value here it will cause syntax error

?>

unit 5:

class Person{
public $isAlive = true;
public $firstname; //don't assign values to these in the public class, define them locally
public $lastname;
public $age;

//assign values
public function __construct($firstname, $lastname, $age) {
$this->firstname = $firstname;
$this->lastname = $lastname;
$this->age = $age;

}

}

$teacher = new Person("boring", "12345", 12345);
$student = new Person("sam", "bell", 28);

//print out info
echo $teacher->isAlive;
echo $student->age;


unit 8:

class Dog {
public $numLegs = 4;
public $name;

public function __construct ($name){
$this->name = $name;

}

public function greet(){
return " Hello, my name is " . $this->name . ". nice to meet you";

}

public function bark(){
return "Woof!";
}

}

$dog1 = new Dog ("Barker");
$dog2 = new Dog ("Amigo");

echo $dog1->bark();
echo $dog2->greet();

?>

unit 9:


// Your code here
class Cat {

public $isAlive = true;
public $numLegs = 4;
public $name;
}

public function __construct ($name){
$this->name = $name;

}

public function meow(){
return "Meow meow";
}

$cat1 = new Cat ("CodeCat");

echo $cat1->meow();

}