小编Viv*_*ndi的帖子

PHP MVC中的BaseModel,好还是坏?

我正在用PHP编写自己的MVC框架,仅用于学习目的.有一个路由器/调度程序类来调用正确的控制器/动作等并不是很难.

但现在我正处于我将要使用模型的部分.或者实际上是模型层.但有些东西让我感到困惑.

很多其他MVC框架都有一个'BaseModel'.我已经读到这实际上是不好的做法,因为"模型"不应该被视为另一个类.但作为一个真正的"层",可以包含"映射器"模式或"存储库"模式等内容.

但说实话,我认为没有任何优势.对我来说,'BaseModel'类似乎是最快的方法,结果相同.

我可以简单地做一些事情:

class User extends BaseModel
{
    // the GetUserBy* could easily be something that's handled by the
    // BaseModel class, like in the Repo pattern.

    public function getUserByName ( $name )
    {
        // no error handling of any kind, just for simplicity
        return $this->db->exec("SELECT * FROM users WHERE name='".$name."'");
    }

    // $data = array
    public function saveUser ( $data )
    {
        // Make sure no extra fields are added to the array
        $user = array ( …
Run Code Online (Sandbox Code Playgroud)

php model-view-controller

6
推荐指数
1
解决办法
2108
查看次数

更改选项卡中的线条颜色 - ActionBarSherlock

我正在使用ActionBarSherlock使我的应用程序与旧设备兼容.实现很简单,但现在我需要将您在标签下看到的默认Holo蓝线设置为红线.

我一直在阅读SO上的一些主题(主题1,主题2)以及ABS文档(链接),但我无法让它工作.

这就是我到目前为止所拥有的.

在我的AndroidManifest.xml中,我将此行添加到application标记中.

<application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/Theme.Sherlock" > <!-- SET THE DEFAULT THEME -->
Run Code Online (Sandbox Code Playgroud)

然后在res/values/styles.xml我有:

<resources>
    <style name="AppTheme" parent="android:Theme.Light" />

    <style name="Theme.MyTheme" parent="Theme.Sherlock">
        <item name="actionBarStyle">@style/Widget.MyTheme.ActionBar</item>
        <item name="android:actionBarStyle">@style/Widget.MyTheme.ActionBar</item>
    </style>

    <style name="Widget.MyTheme.ActionBar" parent="Widget.Sherlock.ActionBar">
        <item name="android:background">#ff000000</item>
        <item name="background">#ff000000</item>
    </style>
</resources>
Run Code Online (Sandbox Code Playgroud)

但是当我运行我的应用程序时,我仍然看到默认的蓝线颜色.

我究竟做错了什么?


编辑

如果您想完全设计ActionBarSherlock样式,请阅读此内容!

我在SO上找到了一个答案,它提供了以下链接:http: //jgilfelt.github.com/android-actionbarstylegenerator

它是一个简单的发电机,可为完全定制的ABS生成所有需要的文件!您所要做的就是将生成的文件复制到适当的文件夹中,然后进行设置!

不要忘记在AndroidManifest中启用样式(您必须在生成器中输入样式名称).为此,请参阅下面的答案.

android actionbarsherlock android-actionbar android-tabs

6
推荐指数
1
解决办法
6445
查看次数

使用IENumerable对象填充GridView

我有一个看起来像这样的对象:

public class TestData
{
    public string FirstName {get; set;}
    public string LastName {get; set;}
    public string Email {get; set;}
    public string Phone {get; set;}
}
Run Code Online (Sandbox Code Playgroud)

我有10个该类的实例存储在一个IENumerable.

GridView我的aspx文件中也有一个:

<asp:GridView ID="GridView1" runat="server">
</asp:GridView>
Run Code Online (Sandbox Code Playgroud)

我需要的是一种显示内容IENumerable的方法GridView.但我希望能够自己设置表中的"标题" thead.

所以我得到这样的东西:

<table>
  <thead>
    <th>Firstname</th>
    <th>Firstname</th>
    <th>Telephone</th>
    <th>Email address</th>
  </thead>
  <tbody>
    <!-- the values from each TestData class stored in the IENumberable -->
  </tbody>
</table>
Run Code Online (Sandbox Code Playgroud)

我可以使用GridView或者更好地使用其他控件来完成工作吗?我还记得一些关于模板的事吗?不确定,我是ASP.NET的新手.

asp.net webforms

6
推荐指数
1
解决办法
2949
查看次数

通过正则表达式只允许字母和"特殊"字母(éèà等)

我正在尝试匹配一个字符串,看它是否只包含字母.应该允许各种信件.所以典型a-zA-Z,但也áàéèó...

我试图将它与以下正则表达式匹配: ([\S])*

但是这也允许字符等\/<>*()....这些显然是不属于名称的字符.当我只想要允许字母和"特殊"字母时,正则表达式是什么样的?

c# regex

6
推荐指数
2
解决办法
3482
查看次数

在我的WCF Web服务中生成svc/wsdl URL

通常当我实现第三方WCF Web服务时,我会得到一个以.svc扩展名结尾的URL .

我刚刚在VS2010中创建了一个WCF Web服务,我可以运行该服务,但我没有在Test Client中看到以.svc扩展名结尾的任何URL .

为了获得这样的URL,我还需要做些什么吗?因为通常从那里人们能够通过添加?wsdl到最终来获得WSDL : http://site.com/service1.svc?wsdl

如何在我的Web服务中生成这样的URL?


这就是我在App.Config中所拥有的:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>

  <system.web>
    <compilation debug="true" />
  </system.web>
  <!-- When deploying the service library project, the content of the config file must be added to the host's 
  app.config file. System.Configuration does not support config files for libraries. -->
  <system.serviceModel>
    <services>
      <service name="TestWebservice.Test">
        <endpoint address="" binding="wsHttpBinding" contract="TestWebservice.ITest">
          <identity>
            <dns value="localhost" />
          </identity>
        </endpoint>
        <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
        <host>
          <baseAddresses>
            <add …
Run Code Online (Sandbox Code Playgroud)

wcf web-services svc

6
推荐指数
0
解决办法
4万
查看次数

在 Blazor 输入上防止默认

我有一个带有输入字段的简单应用程序,它应该在您键入时插入一段预定义的文本。

我的代码如下所示:

<input type="text" bind="@PetitionInput" onkeydown="@PetitionHandleKeyDown" />
@functions
{
    private int _petitionCharStep = 0;
    private string _petition = "This is a dummy text";
    public string PetitionInput { get; set; } = string.Empty;

    void PetitionHandleKeyDown(UIKeyboardEventArgs arg) {
        PetitionInput += _petition[_petitionCharStep];
        _petitionCharStep++;

        Console.WriteLine(PetitionInput);
    }
}
Run Code Online (Sandbox Code Playgroud)

当输入字段有焦点时,我在键盘上按下一个字母,然后它应该将字符串中的第一个字母添加_petition到输入中。当我按下键盘上的任何字母时,它应该在输入字段中输入第二个字母。等等。

我遇到的问题是它还在我在键盘上按下的输入末尾添加了字母。我想防止这种情况发生。

有没有办法Blazor只使用问题代码来解决这个问题?

这里有一个在线演示。

preventdefault blazor

6
推荐指数
1
解决办法
3500
查看次数

获取 PEM 公钥和私钥或从 PFX 文件获取

我有一个openssl使用以下命令生成的 PEM 文件:

.\openssl.exe  pkcs12 -in "C:\temp\mytest.pfx" -nokeys -out "C:\temp\mytest.publicchain.pem"
Run Code Online (Sandbox Code Playgroud)

这会生成一个包含以下内容的 PEM 文件:

-----BEGIN CERTIFICATE-----
MIIJbTCCByGgAwIBAgITfgAAADLWmZPQJCEhKgAAAAAAMjBBBgkqhkiG9w0BAQow
NKAPMA0GCWCGSAFlAwQCAwUAoRwwGgYJKoZIhvcNAQEIMA0GCWCGSAFlAwQCAwUA
... [removed rest of key for obvious reasons]
-----END CERTIFICATE-----

-----BEGIN CERTIFICATE-----
MIIHFzCCBP+gAwIBAgITHgAAAAR0/hITgHTMqgAAAAAABDANBgkqhkiG9w0BAQ0F
ADAcMRowGAYDVQQDExFFbmVjby1TQkRULVJvb3RDQTAeFw0xOTA4MjcyMjMwMjFa
... [removed rest of key for obvious reasons]
-----END CERTIFICATE-----

-----BEGIN CERTIFICATE-----
MIIFsDCCA5igAwIBAgIQM4wn3z5DLaxG8ARk2MpMJTANBgkqhkiG9w0BAQ0FADAc
MRowGAYDVQQDExFFbmVjby1TQkRULVJvb3RDQTAeFw0xODA5MTcwNzIyNDhaFw0y
... [removed rest of key for obvious reasons]
-----END CERTIFICATE-----
Run Code Online (Sandbox Code Playgroud)

我也在使用AxualFrameworkApache 的,我需要为其提供 PEM 公钥和私钥。他们的描述是:

用于身份验证的客户端公钥字符串(PEM 格式)。

用于身份验证的客户端私钥字符串(PEM 格式)。

现在我的问题是,如何从 PEM 文件或 PFX 文件中提取此内容?哪一个更容易做到?

我还安装了 BouncyCastle 作为 Nuget 包,但我不确定使用什么方法。

我还尝试使用以下内容从 PFX 文件中获取它: …

.net ssl x509certificate2 pem asp.net-core-3.1

6
推荐指数
1
解决办法
1万
查看次数

绑定2个纹理,只看1

我正在尝试为我的着色器绑定2个纹理.但由于某种原因,它似乎总是采取我定义的最后一个图像.难道我做错了什么?

GLuint textures[2];

glEnable(GL_TEXTURE_2D);

glGenTextures(2, textures);
glBindTexture(GL_TEXTURE_2D, textures[0]);
glfwLoadTexture2D("C:\\front.tga", GLFW_BUILD_MIPMAPS_BIT);

glBindTexture(GL_TEXTURE_2D, textures[1]);
glfwLoadTexture2D("C:\\reflect.tga", GLFW_BUILD_MIPMAPS_BIT);
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我在着色器中看到'reflect.tga'的反射和折射......

const vec3 Xunitvec = vec3 (1.0, 0.0, 0.0);
const vec3 Yunitvec = vec3 (0.0, 1.0, 0.0);

uniform vec3  BaseColor;
uniform float Depth;
uniform float MixRatio;

// need to scale our framebuffer - it has a fixed width/height of 2048
uniform float FrameWidth;
uniform float FrameHeight;

uniform sampler2D EnvMap;
uniform sampler2D RefractionMap;

varying vec3  Normal;
varying vec3  EyeDir;
varying vec4  EyePos;
varying float LightIntensity;

void main …
Run Code Online (Sandbox Code Playgroud)

opengl textures glsl glfw

5
推荐指数
1
解决办法
2759
查看次数

等待元素与CasperJS一起使用特定文本

我正在使用CasperJS来阅读某个网页.我想要做的是在CasperJS中加载一个网页.然后,等待某个HTML元素具有特定文本.

所以我喜欢这样做:

var casper = require('casper').create();

casper.start('http://www.example.com/somepage', function() {
    this.echo('Home page opened');
});

// wait for text based on a CSS selector
casper.waitForText('.someCssClass', 'dolor sit', function() {
    this.echo('found title!');
});

// when text is eventually found, then continue with this
casper.then(function() { ... } );

casper.run();
Run Code Online (Sandbox Code Playgroud)

所以我想使用waitForText,但使用CSS选择器.这样它就可以监视certaim HTML元素中的一段文本.这对我来说并不是很明显是否以及如何做到这一点.

这可以在CasperJS中完成吗?如果是这样,我该怎么做?

javascript casperjs

5
推荐指数
1
解决办法
3553
查看次数

使用带Webpack的Angular模板在VS2017中调试typescript

据我所知,我应该能够在Visual Studio 2017中调试Typescript文件.

我使用Angular模板创建了一个新的Web应用程序.当我构建我的项目时,它会创建一个缩小的js文件,其中包含一个.map文件wwwroot.

然后当我运行我的应用程序(在IE中)时,我希望.ts当我导航到该页面时,应该击中文件中的断点.但它说:

断点当前不会被击中.没有为此文档加载任何符号.

可能是什么问题呢?

webpack typescript2.0 visual-studio-2017

5
推荐指数
0
解决办法
559
查看次数