Skip to content

ayimdomnic/GraphQl-L5.3

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

48 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GraphQl-L5.3 StyleCI Build Status

After the Developer Workshop in Nairobi, I have resolved to Move from Rest to GraphQL, This is a package to assit me with the same as I develop may laravel APIs

#Requirements

  1. PHP 5.6 and Above
  2. Laravel 5.3

#Instalation

  1. composer require ayimdomnic/graph-ql-l5.3
  2. add Ayimdomnic\GraphQl\GraphQlServiceProvider::class, to config/app
  3. add 'GraphQl' => 'Ayimdomnic\GraphQl\Helper\Facade\GraphQl', to the Facades
  4. publish php artisan vendor:publish

#Usage

#Creating a Query(#creating-a-query)

	namespace App\GraphQl\Type;
	
	use GraphQL\Type\Definition\Type;
	use Ayimdomnic\GraphQl\Helper\Type as GraphQLType;
    
    class UserType extends GraphQLType {
        
        protected $attributes = [
			'name' => 'User',
			'description' => 'A user'
		];
		
		public function fields()
		{
			return [
				'id' => [
					'type' => Type::nonNull(Type::string()),
					'description' => 'The id of the user'
				],
				'email' => [
					'type' => Type::string(),
					'description' => 'The email of user'
				]
			];
		}
			
			
		#########If you want to resolve the field yourself, you can declare a method
		###################with the following format resolve[FIELD_NAME]Field()
		protected function resolveEmailField($root, $args)
		{
			return strtolower($root->email);
		}
        
    }

Creating a Mutation