Categories
PHP Version Control

Bitbucket Repository with Composer

Hi all,

In this article , you will find a tutorial about , how to use github or bitbucket repositories with composer.

Create Your Repository

Most important thing in this step, we will use the repository name in composer.json. I used “blog/tutorial” as a package name. I prefer to use bitbucket and at the below code copied from bitbucket repository page, following commands will init git repository to your local folder.

mkdir /path/to/your/project
cd /path/to/your/project
git init
git remote add origin [email protected]:yourname/blog-tutorial.git

Create Composer.json

Now, i defined a composer properties like , package name , description , authors , requirements etc.. For more information about composer.json please check Composer Basic Usage

Note: When you finished to edit “composer.json”  , dont forget to run

composer validate
{
    "name": "mtigdemir/blog-tutorial",
    "description": "Muharrem Tigdemir Blog Tutorial Package",
    "authors": [
        {
            "name": "Muharrem Tığdemir",
            "email": "[email protected]"
        }
    ],
    "require": {
        "php": ">=5.4",
    },
    "require-dev": {
        "phpunit/phpunit": "~4.6"
    },
    "autoload": {
        "psr-4": {
            "Mtigdemir\\Blog\\": "src/"
        }
    }
}

As you can see, I’ve defined autoload psr-4 property with namespace “Mtigdemir\\Blog\\”

!IMPORTANT! PSR-0 is deprecated , and PSR-4 standarts show us where to place files that will be autoloaded according to the specification. For more information about PSR-4 please check PHP Framework Interop Group

<?php namespace Mtigdemir\Blog;
// File must be under src directory
class User
{
	private $username; 
	private $email; 

	public function __constructor($username , $email){
		$this->username = $username;
		$this->email = $email;
	}

	public function getEmail(){
		return $this->email;
	}

	public function getUsername(){
		return $this->username;
	}
}

Let’s create a User.class in src/ directory with Mtigdemir\Blog namespace. Your package is ready to use with User class lets push it !

It’s time to include our package into the project

First of all, we have to include our repository to new project at the below composer.json definition is my new project and I included “[email protected]:mtigdemir/blog-tutorial.git” to my repositories.

Note : if you are using private repository. You have add your ssh-key to bitbucket!

{
   "name" : "mtigdemir/blog-tutorial-project",
   "description" : "Blog Tutorial Project",
   "repositories": [
   {
     "type": "vcs",
     "url":  "[email protected]:mtigdemir/blog-tutorial.git"
   }
   ],
   "require": {
       "php": ">=5.4",
    }
  }
composer search mtigdemir

This composer command will find “mtigdemir” packages including my private repository , as a result composer will find our package name and description if everything is cool you will see this kind of result in command line about your package definition: “mtigdemir/blog-tutorial Blog tutorial Package”

composer info mtigdemir/blog-tutorial

What about version ! I didn’t release any version , in that case if you pushed develop or master branch your requirement version will change that’s why composer info is very useful. My package version is “dev-master”

name     : mtigdemir/blog-tutorial                       
descrip. : Blog tutorial Package
keywords : 
versions : dev-master
type     : library
source   : [git] [email protected]:mtigdemir/blog-tutorial.git f37affd9a2f1500a4ff956aa727304ce66af951b
dist     : []  
names    : mtigdemir/blog-tutorial

autoload
psr-4
Bumin\Psp\Account\ => src/

requires
php >=5.4

requires (dev)
phpunit/phpunit ~4.6

Now , you can add your package like at the below or add package to composer.json and update it !

composer require mtigdemir/blog-tutorial:dev-master

Finally, I’m able to use my class in project — Yea only User Class user.php :((

Your package will be under vendor/ directory like other packages from packagist.org.

<?php
	
require "vendor/autoload.php";

$user = new \Mtigdemir\Blog\User("muharrem" , "[email protected]");

echo $user->getUserName().'__'.$user->getEmail();

I’m able to use my User Class with namespace ,

I want to thank to my team-mate Aykut Aras for share with me all about this know-how..

Muharrem Tığdemir

Categories
Laravel PHP

Laravel 4 XAMPP Kurulum

Merhaba Arkadaşlar ,

Bu yazımda popüler php framework’leri arasında kendi yer edinen laravel kurulumundan bahsedeceğim localhost olarak da XAMPP kullanacağım. Öncelikle Composer bilgisayrınızda kurulu değil ise;

Composer Kurulumu için tıklayın.

Örnek Composer Kullanımı için tıklayın.

Composer kurulumunu tamamladıktan sonrası aslında oldukça basit composer bizim kurulum ve güncelleme gibi birçok işlemi yapacak.

Laravel sitesine giderek veya benim kullandığım son sürüm olan 4.1 versiyon laravel.phar dosyasını indirin ve c:\xampp\htdocs içine kopyalayın.

Categories
PHP

Composer PHP Kullanımı

Merhaba Arkadaşlar ,

Bu yazımda “Composer” kullanımından bahsedeceğim.  Amaç olarak, geliştirilmiş bir projenin updatelerini sağlamak ve kurulumunu kolaylaştırmak olduğunu söyleyebiliriz. Örneğin basit bir framework geliştridik bu tabiki kendi kütüphaneniz bile olabilir. Şimdiye kadar kullandığınız bütün kütüphaneleri yoplayıp bir paket yapma imkanı sağlıyor ve en avantajlı yanı da  başka kütüpnalere bağımlı bir projeniz var ise 1 satır kod ile update yapmanızı sağlıyor.  Bana oldukça “Maven” i çağrıştırdı temel farklar dışında belirli standart oluşturmayı hedefleyen güzel bir opensource proje olmuş.  Sözü fazla uzatmadan kuruluma geçelim.

Not: yazının buradan sonrasını windows üzerine kurulum ile devam edeceğim linux kullanıcıları için kurulumu siteden takip edebilirsiniz.

 

Kuruluma başlamadan önce Apache PHP Server’a sahip olmalısınız.  Google da arama ile “XAMPP”  veya “WAMP” kurulumunu kolayca bulabilirsiniz. Sanırım artık Apache’miz hazır.

http://getcomposer.org/download/   –> Bu linkten Composer-setup.exe dosyasını indirin.

 

Kurulumu yaparken “php.exe” nin bulunduğu dosya yolunu bulun. Benim bilgisayarımda xampp kurulu  ve dosya yolum “C:\xampp\php\php.exe”

 

composer