radarrplexorganizrnginxsonarrdashboardsabnzbdheimdallembycouchpotatonzbgetbookmarkapplication-dashboardmuximuxlandingpagestartpagelandinghtpcserverhomepage
		
		
		
		
			You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							95 lines
						
					
					
						
							2.2 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							95 lines
						
					
					
						
							2.2 KiB
						
					
					
				
								<?php
							 | 
						|
								
							 | 
						|
								namespace Laravel\Tinker;
							 | 
						|
								
							 | 
						|
								use Exception;
							 | 
						|
								use Symfony\Component\VarDumper\Caster\Caster;
							 | 
						|
								
							 | 
						|
								class TinkerCaster
							 | 
						|
								{
							 | 
						|
								    /**
							 | 
						|
								     * Application methods to include in the presenter.
							 | 
						|
								     *
							 | 
						|
								     * @var array
							 | 
						|
								     */
							 | 
						|
								    private static $appProperties = [
							 | 
						|
								        'configurationIsCached',
							 | 
						|
								        'environment',
							 | 
						|
								        'environmentFile',
							 | 
						|
								        'isLocal',
							 | 
						|
								        'routesAreCached',
							 | 
						|
								        'runningUnitTests',
							 | 
						|
								        'version',
							 | 
						|
								        'path',
							 | 
						|
								        'basePath',
							 | 
						|
								        'configPath',
							 | 
						|
								        'databasePath',
							 | 
						|
								        'langPath',
							 | 
						|
								        'publicPath',
							 | 
						|
								        'storagePath',
							 | 
						|
								        'bootstrapPath',
							 | 
						|
								    ];
							 | 
						|
								
							 | 
						|
								    /**
							 | 
						|
								     * Get an array representing the properties of an application.
							 | 
						|
								     *
							 | 
						|
								     * @param  \Illuminate\Foundation\Application  $app
							 | 
						|
								     * @return array
							 | 
						|
								     */
							 | 
						|
								    public static function castApplication($app)
							 | 
						|
								    {
							 | 
						|
								        $results = [];
							 | 
						|
								
							 | 
						|
								        foreach (self::$appProperties as $property) {
							 | 
						|
								            try {
							 | 
						|
								                $val = $app->$property();
							 | 
						|
								
							 | 
						|
								                if (! is_null($val)) {
							 | 
						|
								                    $results[Caster::PREFIX_VIRTUAL.$property] = $val;
							 | 
						|
								                }
							 | 
						|
								            } catch (Exception $e) {
							 | 
						|
								                //
							 | 
						|
								            }
							 | 
						|
								        }
							 | 
						|
								
							 | 
						|
								        return $results;
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    /**
							 | 
						|
								     * Get an array representing the properties of a collection.
							 | 
						|
								     *
							 | 
						|
								     * @param  \Illuminate\Support\Collection  $collection
							 | 
						|
								     * @return array
							 | 
						|
								     */
							 | 
						|
								    public static function castCollection($collection)
							 | 
						|
								    {
							 | 
						|
								        return [
							 | 
						|
								            Caster::PREFIX_VIRTUAL.'all' => $collection->all(),
							 | 
						|
								        ];
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    /**
							 | 
						|
								     * Get an array representing the properties of a model.
							 | 
						|
								     *
							 | 
						|
								     * @param  \Illuminate\Database\Eloquent\Model  $model
							 | 
						|
								     * @return array
							 | 
						|
								     */
							 | 
						|
								    public static function castModel($model)
							 | 
						|
								    {
							 | 
						|
								        $attributes = array_merge(
							 | 
						|
								            $model->getAttributes(), $model->getRelations()
							 | 
						|
								        );
							 | 
						|
								
							 | 
						|
								        $visible = array_flip(
							 | 
						|
								            $model->getVisible() ?: array_diff(array_keys($attributes), $model->getHidden())
							 | 
						|
								        );
							 | 
						|
								
							 | 
						|
								        $results = [];
							 | 
						|
								
							 | 
						|
								        foreach (array_intersect_key($attributes, $visible) as $key => $value) {
							 | 
						|
								            $results[(isset($visible[$key]) ? Caster::PREFIX_VIRTUAL : Caster::PREFIX_PROTECTED).$key] = $value;
							 | 
						|
								        }
							 | 
						|
								
							 | 
						|
								        return $results;
							 | 
						|
								    }
							 | 
						|
								}
							 | 
						|
								
							 |