小编Sun*_*tel的帖子

PHP名称空间和"使用"

我在命名空间和use语句方面遇到了一些麻烦.

我有三个文件:ShapeInterface.php,Shape.phpCircle.php.

我试图使用相对路径这样做,所以我把它放在所有类中:

namespace Shape; 
Run Code Online (Sandbox Code Playgroud)

在我的圈子课程中,我有以下内容:

namespace Shape;
//use Shape;
//use ShapeInterface;

include 'Shape.php';
include 'ShapeInterface.php';    

class Circle extends Shape implements ShapeInterface{ ....
Run Code Online (Sandbox Code Playgroud)

如果我使用include语句,我没有错误.如果我尝试use我得到的陈述:

致命错误:第8行的/Users/shawn/Documents/work/sites/workspace/shape/Circle.php中找不到类'Shape\Shape'

有人可以就这个问题给我一些指导吗?

php namespaces

107
推荐指数
2
解决办法
18万
查看次数

docker-credential-desktop 未安装或在 PATH 中不可用

我的 Mac 上的 Docker 安装可能有点混乱。起初我安装了 Docker 桌面,但运行它后我了解到,由于我使用的是较旧的 Mac,所以我必须安装 VirtualBox,所以我按照以下步骤操作:

  1. /usr/local/bin允许用户在文件夹上写入

    sudo chown -R $(whoami) /usr/local/bin

  2. 安装 Docker-Machine

base=https://github.com/docker/machine/releases/download/v0.16.0 &&
  curl -L $base/docker-machine-$(uname -s)-$(uname -m) >/usr/local/bin/docker-machine &&
  chmod +x /usr/local/bin/docker-machine
Run Code Online (Sandbox Code Playgroud)
  1. 从开发帐户手动安装 Xcode CLI

  2. 安装自制啤酒

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Run Code Online (Sandbox Code Playgroud)
  1. 安装 Docker + wget (使用 Brew)

    brew install docker

    brew install wget

  2. 安装 bash 补全脚本

base=https://raw.githubusercontent.com/docker/machine/v0.16.0
for i in docker-machine-prompt.bash docker-machine-wrapper.bash docker-machine.bash
do
    sudo wget "$base/contrib/completion/bash/${i}" -P /etc/bash_completion.d
done
Run Code Online (Sandbox Code Playgroud)
  1. 启用 docker-machine shell 提示符

    echo 'PS1='[\u@\h \W$(__docker_machine_ps1)]\$ '' >> ~/.bashrc

  2. 安装 VirtualBox、ExtensionPack …

homebrew docker docker-compose docker-machine

96
推荐指数
4
解决办法
9万
查看次数

PHP如何从另一个命名空间导入所有类

我正在现有项目中实现名称空间.我发现您可以使用关键字"use"将类导入到命名空间中.我的问题是,我还可以将所有类从1个名称空间导入到另一个名称空间中.例:

namespace foo
{

    class bar
    {

        public static $a = 'foobar';

    }

}

namespace
{
    use \foo;  //This doesn't work!
    echo bar::$a;
}
Run Code Online (Sandbox Code Playgroud)

PHP 7+更新

PHP 7中的一个新功能是分组声明.这并不像在给定命名空间中对所有类使用1'use语句'那么容易,但使它更容易......

示例代码:

<?php
// Pre PHP 7 code
use some\namespace\ClassA;
use some\namespace\ClassB;
use some\namespace\ClassC as C;

// PHP 7+ code
use some\namespace\{ClassA, ClassB, ClassC as C};
?>
Run Code Online (Sandbox Code Playgroud)

另见:https://secure.php.net/manual/en/migration70.new-features.php#migration70.new-features.group-use-declarations

php import namespaces

61
推荐指数
2
解决办法
4万
查看次数

在存储过程中使用数据库

我需要创建一个存储过程,在多个数据库中创建一个用户.像这样的东西:

USE [database1]

CREATE USER [userLogin] FOR LOGIN [userLogin]

USE [database2]

CREATE USER [userLogin] FOR LOGIN [userLogin]
Run Code Online (Sandbox Code Playgroud)

由于该CREATE USER语句在当前数据库中完成了他的工作,我需要使用该USE语句在数据库之间进行更改,但它不能在存储过程中使用.

我怎样才能做到这一点?

t-sql sql-server stored-procedures

28
推荐指数
2
解决办法
5万
查看次数

使用Google Maps API添加标记功能

我有以下Javascript,其中包括标准的Google Maps API initialize()函数和自定义addMarker()函数.地图将加载正常,但标记不会添加到地图中.

<script type="text/javascript">

    // Standard google maps function
    function initialize() {
        var myLatlng = new google.maps.LatLng(40.779502, -73.967857);
        var myOptions = {
            zoom: 12,
            center: myLatlng,
            mapTypeId: google.maps.MapTypeId.ROADMAP
        }
        map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
    }

    // Function for adding a marker to the page.
    function addMarker(location) {
        marker = new google.maps.Marker({
            position: location,
            map: map
        });
    }

    // Testing the addMarker function
    CentralPark = new google.maps.LatLng(37.7699298, -122.4469157);
    addMarker(CentralPark);

</script>
Run Code Online (Sandbox Code Playgroud)

javascript google-maps-api-3 google-maps-api-2

27
推荐指数
2
解决办法
11万
查看次数

你如何取消选择MySQL数据库?

USE MyDatabase;
Run Code Online (Sandbox Code Playgroud)

我怎么UNUSE MyDatabase还是DESELECT MyDatabase这样我就可以用SHOW DATABASES一次?有什么相反的USE

mysql database

24
推荐指数
2
解决办法
2万
查看次数

自己的图像作为范围上的滑块拇指.如何在CSS上打造风格

如何使用css将图像设置为范围输入类型的滑块滑块?它在Internet Explorer中不起作用.Chrome和Firefox都可以,但在IE上我的图像是隐藏的还是什么?我使用::-ms-thumb,并尝试将图像设置为背景.我该如何用CSS修复它?

input[type="range"]::-webkit-slider-thumb 
    {
    -webkit-appearance: none;
    background-image: url('../images/slider.png');
    opacity: 1;
    width: 40px;
    height: 19px;
    position: relative;
    top: 0px;
    z-index: 99;
 }
::-moz-range-thumb{
    background-image: url('../images/slider.png');
    width:40px;
    height:19px;
   }
::-ms-thumb{
    background-image: url('../images/slider.png');
    width:40px;
    height:19px;
    z-index: 9999;
    display: block;
    background-color: transparent;
   }
Run Code Online (Sandbox Code Playgroud)

IE,Chrome和Firefox滑块http://imageshack.com/a/img401/9131/dqwb.jpg

html5 internet-explorer image slider range

10
推荐指数
1
解决办法
9904
查看次数

Chrome中的SVG"使用"标记已损坏

SAP(AngularJS和Angular Route)具有由svg-sprite制作的基于图标的导航.所以,我有这样的内联代码:

<div style="height: 0; width: 0; position: absolute; visibility: hidden">
<svg xmlns="http://www.w3.org/2000/svg">
    <symbol id="icon-grid-32" viewBox="0 0 32 32">
        <g stroke-width="2" stroke-linecap="round" stroke-miterlimit="10" stroke-linejoin="round">
            <path d="M2 2h11v11H2zM19 2h11v11H19zM2 19h11v11H2zM19 19h11v11H19z"/>
        </g>
    </symbol>
</svg>
</div>
Run Code Online (Sandbox Code Playgroud)

导航中的图标如下:

<a href=""><svg class="icon icon-32 outline black"><use xlink:href="#icon-grid-32"></use></svg></a>
Run Code Online (Sandbox Code Playgroud)

我在这个导航中看到的所有东西都没有,<use>大小为0×0像素.我知道有关xml:base的 Firefox bug,但添加xml:base对我没有帮助.你可以尝试这个例子:http://css.yoksel.ru/assets/demo/svg-in-firefox/svg-has-base.html

它适用于Firefox,Safari和其他浏览器,但不适用于Chrome 49+(48版本没有此问题).

svg google-chrome angularjs

10
推荐指数
2
解决办法
3259
查看次数

MySQL:停止使用Scheme(数据库)?

如何停止使用数据库?

要启动mysql,您可以使用:

mysql -u root -pXXXX<ENTER>
Run Code Online (Sandbox Code Playgroud)

目前,未选择任何数据库.我们称之为

州1

要选择(或使用)数据库:

use "MyDB";
.....My operations or queries
Run Code Online (Sandbox Code Playgroud)

现在,我想返回状态1(未选择任何数据库).我怎么能这样做?我可以选择另一个数据库,但我不想这样做.

mysql

8
推荐指数
3
解决办法
5606
查看次数

`new`和`use`关键字路径

我在使用php 5.2的主机公司,我使用的一些库是用5.3编写的,代码之间存在某些不兼容性.

首先,替代方案是什么:

use \folder1\folder2\class_file;
Run Code Online (Sandbox Code Playgroud)

其次是什么是替代方案:

$sample = new \folder1\folder2\class_file($arg1, arg2);
Run Code Online (Sandbox Code Playgroud)

提前致谢.

php namespaces slash new-operator php-5.2

7
推荐指数
2
解决办法
4561
查看次数